Skip to Content Find it Fast

This browser does not support Cascading Style Sheets.

Undergraduate Course Catalog 2015-2016

College of Engineering and Physical Sciences

» http://www.ceps.unh.edu


Computer Science (CS)

» http://www.cs.unh.edu

» Click to view course offerings

Chairperson: Radim Bartos
Professor: R. Daniel Bergeron, Philip J. Hatcher
Affiliate Professor: Jason H. Moore
Associate Professor: Radim Bartos, Michel Charpentier, Wheeler Ruml, Elizabeth Varki, James L. Weiner
Affiliate Associate Professor: Sylvia Weber Russell
Affiliate Assistant Professor: Michael S. Deutsch, Kurt Schwehr
Lecturer: Mark L. Bochert, Michael Gildersleeve, Ellen M. Hepp, Collette Mathias Powers, Karl Shump, Israel J. Yost

 

Computer Science

Undergraduate students may choose from one of two degree options: the B.S. in computer science, which is intended for students interested in the design and implementation of software systems, or the B.S. in information technology, which focuses on the application of existing computing technologies to meet the information needs of organizations and individual computer users. The B.S. in computer science also offers a bioinformatics option, which is designed for students who wish to apply computer science expertise in the life sciences.


Bachelor of Science in Computer Science

Computer science focuses on problem solving with a particular emphasis on the design of computer-efficient solutions. Within a few years of obtaining a bachelor's degree in either of the two computer science options, our alumni will have:

  1. Engaged in successful careers in diverse areas of software development and will already have, or be pursuing, advanced degrees computer science or related fields
  2. Applied the full range of core computer science concepts and techniques to fill software development needs of an organization or firm;
  3. Adapted to changing directions of computing technology and used state-of-the-art techniques to confront new problems effectively
  4. Navigated the complex interconnections between software and the goals and constraints of the organization/firm served
  5. Participated responsibly in the pervasive and changing role of computing technology in global society as both software engineers and citizens
  6. Operated professionally in a team environment and assumed leadership roles

The B.S. in computer science programs are accredited by the Computing Accreditation Commission of ABET, 111 Market Place, suite 1050, Baltimore, MD 21202-4012, (410) 347-7700.

B.S. in computer science requirements:
Computer science majors must complete the following coursework in computer science, mathematics, computer engineering, science, English, and philosophy (all courses are 4 credits unless indicated otherwise):

Computer science courses:
CS 400, Introduction to Computing (1 cr)
IT 403, Introduction to Internet Technologies
CS 415, Introduction to Computer Science I
CS 416, Introduction to Computer Science II
CS 501, Professional Ethics and Communication in Technology Related Fields
CS 515, Data Structures
CS 520, Assembly Language Programming and Machine Organization
CS 619, Introduction to Software Design and Development
CS 620, Operating System Fundamentals
CS 659, Introduction to the Theory of Computation
CS 671, Programming Language Concepts and Features
CS 7.., CS elective 1
CS 7.., CS elective 2
CS 7.., CS elective 3
CS 7.., CS elective 4
CS 791, Senior Project I (senior capstone experience) (2 cr)
CS 792, Senior Project II (senior capstone experience) (2 cr)

A professional elective, chosen in a list of approved courses.
One of the four CS electives must be "implementation intensive" (CS 712, CS 720, CS 730, CS 735, CS 770); another one must be "theory" (CS 712, CS 745, CS 758).

Mathematics courses:
MATH 425, Calculus I
MATH 426, Calculus II
MATH 531, Mathematical Proof
MATH 539 or MATH 644, Statistics

Electrical and computer engineering courses:
ECE 543, Introduction to Digital Systems
ECE 562, Computer Organization

Science courses:
Science 1 and 2 (two-course sequence): BIOL 411-412 or CHEM 403-404 or ESCI 401-402 or ESCI 409-402 or PHYS 407-408
Science 3: any Discovery lab science course (DLAB)

Other courses:
ENGL 502, Technical Writing
Discovery requirements not already covered by required courses

Computer science majors must maintain an overall grade-point average of 2.0 or better in all required computer science, mathematics, and computer engineering courses in order to graduate. If at the end of any semester, including the first, a student’s cumulative grade-point average in these courses falls below 2.0, the student may not be allowed to continue as a CS major. 

The following courses must be passed with a grade of C- or better:  IT 403, CS 415, CS 416, CS 515 and CS 520.

If a student wishing to transfer into the computer science major has any coursework that is applicable to the major, the grades in those courses must satisfy the minimum grade requirements for the B.S. degree in computer science. The student must have an overall grade-point average of 2.0 or better in all courses taken at the University.


First Year

Abbreviation Course Number Title Fall Spring
CS   400   Introduction to Computing   1    
IT   403   Introduction to Internet Technologies   4    
CS   415   Introduction to Computer Science I   4    
MATH   425   Calculus I   4    
    Other Requirements   4    
CS   416   Introduction to Computer Science II     4  
MATH   426   Calculus II     4  
ENGL   401   First-Year Writing     4  
ECE   543   Introduction to Digital Systems     4  
    Total   17   16  

 

 

 



Sophomore Year

Abbreviation Course Number Title Fall Spring
CS   515   Data Structures   4    
MATH   531   Mathematical Proof   4    
    Other Requirements   8    
CS   520   Assembly Language Programming and Machine Organization     4  
CS   659   Introduction to the Theory of Computation     4  
    Other Requirements     8  
    Total   16   16  


Junior Year

Abbreviation Course Number Title Fall Spring
CS   620   Operating System Fundamentals   4    
CS   671   Programming Language Concepts and Features   4    
    Other Requirements   8    
ECE   562   Computer Organization     4  
CS   619   Introduction to Software Design and Development     4  
CS   7...   CS elective 1     4  
    Other Requirements     4  
    Total   16   16  


 

 



Senior Year

Abbreviation Course Number Title Fall Spring
CS   791   Senior Project I   2    
CS   7..   CS Elective 2   4    
CS   7..   CS Elective 3   4    
    Other Requirements   4    
CS   792   Senior Project II     2  
CS   7..   CS Elective 4     4  
    Professional Elective     4  
    Other Requirements     4  
    Total   14   14  

 

 



Bachelor of Science in Computer Science: Bioinformatics Option

The bioinformatics field is an increasingly important sub-discipline in computer science. The demand for computer science graduates who can apply their knowledge in the life sciences is significant and is expected to continue to grow. Students who choose this path are still computer science majors but have a concentration in the life sciences. The option has the same core as the B.S. program but requires appropriate coursework in chemistry, biology, genetics, and statistics.

Bioinformatics Requirements
Bioinformatics students must complete the following coursework in computer science, mathematics, computer engineering, science, and English.(all courses are 4 credits unless indicated otherwise):

Computer science courses:
CS400, CS415, CS416, CS 501, CS515, CS520,  CS619, CS620, CS659, CS671
CS 758, Algorithms (CS theory)
CS 7.., CS WI elective with project in bioinformatics
CS 775, Database Systems
CS 791, Senior Project I (senior capstone experience) (2 cr)
CS 792, Senior Project II (senior capstone experience) (2 cr)

Mathematics courses: 
MATH 425, Calculus I
MATH 426, Calculus II
MATH 531, Mathematical Proof
MATH 539 or MATH 644, Statistics 1
MATH 739 or, Statistics 2

Electrical and computer engineering course:
ECE543, Introduction to Digital Systems

Science courses:
BIOL 411, Introductory Biology: Molecular and Cellular
BIOL 412, Introductory Biology: Evolution, Biodiversity and Ecology
BIOL 604/GEN 604, Genetics
CHEM 405, Chemical Principles for Everyone
GEN 711, Genomics and Bioinformatics

Other courses:
ENGL 502,  Technical Writing
Discovery requirements not already covered by required courses


Minor in Computer Science

The minor in computer science is designed for students in other majors who want to learn the fundamentals of designing and implementing computer software.

Credit toward the minor will be given only for courses passed with C- or better, and a 2.0 grade-point average must be maintained in courses for the minor. Courses taken on the pass/fail basis may not be used for the minor. Students should declare their intent to earn a minor as early as possible and no later than the end of the junior year. During the final term, an application should be made to the dean of the student’s major college to have the minor shown on the academic record. Students must consult with their major adviser and also the minor supervisor.


Requirements:

Abbreviation Course Number Title
CS   415   Introduction to Computer Science I  
CS   416   Introduction to Computer Science II  
CS   515   Data Structures  


Two additional courses chosen from:

Abbreviation Course Number Title
CS   619   Introduction to Software Design and Development  
CS   520   Assembly Language Programming and Machine Organization  
CS   620   Operating System Fundamentals  
*CS   659   Introduction to the Theory of Computation  
CS   671   Programming Language Concepts and Features  
    An approved CS 700-level course  

*CS 659 has mathematics prerequisites: MATH 425, MATH 426, and MATH 531.



Bachelor of Science in Information Technology

Information technology is concerned primarily with the application of existing computing technologies to the information needs of organizations and individual computer users.  The IT program aims to provide graduates with the skills and knowledge to take on appropriate professional positions in information technology upon graduation and grow into leadership positions in the field.  Potential careers include network administrator, database developer, system administrator, and webmaster.

The broad objectives for B.S. in information technology graduates are:

1.  apply the full range of core IT concepts and techniques to fill the IT needs of an organization and be prepared to assume managerial and other advanced responsibilities,2.  confront new problems effectively and anticipate the changing directions of technology,
3.  communicate effectively with diverse stakeholders as well as function appropriately in a team environment,
4.  navigate within the complex relationships between IT and larger organizational goals, and
5.  understand the pervasive and changing role of computing technology in global society, and participate responsibly as both IT professional and citizen.

The B.S. in information technology program is accredited by the Computing Accreditation Commission of ABET, 111 Market Place, suite 1050, Baltimore, MD  21202-4012. Phone:  (410) 347-7700. www.abet.org/.

B.S. in information technology requirements:

Information technology courses:
CS 400, Introduction to Computing (1 cr)
IT 403, Introduction to Internet Technologies
CS 415, Introduction to Computer Science I
CS 416, Introduction to Computer Science II
CS 501, Professional Ethics and Communication in Technology Related Fields
IT 502, Intermediate Web Design
IT 505, Database Programming
IT 520, Computer Architecture
IT 609, Network/Systems Administration
IT 666, Computer Security
IT 699, Internship (1 cr)
IT 6.., IT elective 1
IT 6.., IT elective 2
IT 7.., IT elective 3
IT 705, Project Management for Information Technology
IT 709, Introduction to the Senior Project (senior capstone experience) (1 cr)
IT 710, Senior Project (senior capstone experience) (3 cr)
IT 775, Database Technology

Mathematics  courses:
MATH 425, Calculus I
MATH 539, Introduction to Statistical Analysis

Other courses:
Science 1 and 2: (two-course sequence): BIOL 411-412 or CHEM 403-404 or ESCI 401-402 or ESCI 409-402 or PHYS 401-402
ENGL 502, Technical Writing
Second discipline (see below for details)

Information technology majors must maintain an overall grade-point average of 2.0 or better in all required information technology and computer science required courses in order to graduate.  If at the end of any semester, including the first, a student’s cumulative grade-point average in these courses falls below 2.0, the student may not be allowed to continue as an IT major. The following courses must be passed with a grade of C- or better in order to meet IT major requirements:  IT 403, CS415, CS 416, IT 502, IT 505, IT 520.

If a student wishing to transfer into the information technology major has any coursework that is applicable to the major, the grades in those courses must satisfy the minimum grade requirements for the B.S. degree in information technology. The student must have an overall grade-point average of 2.0 or better in all courses taken at the University.

In addition to the above requirements, each student must choose a second discipline in a particular domain outside of IT to which the student’s IT skills can be applied. Second disciplines (typically four courses) have been defined by the CS department in such areas as business administration, health management and policy, and justice studies. If a student is interested in an area that is not currently defined, the option of a student-designed second discipline is also available.

The following is a sample schedule depicting the necessary requirements and the layout of the curriculum. Students must consult with their advisers in order to come up with the proper schedule for themselves.


First Year

Abbreviation Course Number Title Fall Spring
CS   400   Introduction to Computing   1    
MATH   425   Calculus I (Discovery)   4    
IT   403   Introduction to Internet Technologies   4    
CS   415   Introduction to Computer Science I   4    
    Discovery   4    
CS   416   Intro to Computer Science II     4  
IT   502   Intermediate Web Design     4  
    Discovery     4  
ENGL   401   First-Year Writing (Discovery)     4  
    Total   17   16  

 



Sophomore Year

Abbreviation Course Number Title Fall Spring
MATH   539   Introduction to Statistical Analysis   4    
IT   505   Database Programming   4    
    Discovery   4    
    Lab Science I & II (Discovery)   4   4  
IT   520   Computer Architecture     4  
ENGL   502   Technical Writing     4  
    Second Discipline I     4  
    Total   16   16  

 



Junior Year

Abbreviation Course Number Title Fall Spring
CS   501   Professional Ethics and Communication in Technology-related Fields   4    
IT   666   Computer Security   4    
IT   609   Network/Systems Administration   4    
    Discovery   4    
    600-Level IT Elective     4  
    600-Level IT Elective     4  
    Second Discipline II     4  
    Discovery     4  
IT   699   Internship     1  
    Total   16   17  


Senior Year

Abbreviation Course Number Title Fall Spring
IT   709   Intro to Senior Project   1    
IT   705   Project Management   4    
IT   775   Database Technology   4    
    Second Discipline III   4    
    Discovery   4    
IT   710   Senior Project     3  
    Second Discipline IV     4  
    700-Level IT Elective     4  
    Free Elective     4  
    Total   17   15  

 



Minor in Information Technology

The information technology (IT) minor is a way for students in non-technical majors to bridge the gap between a primarily non-technical education and a technical world. Graduates from a variety of fields are discovering that there is a great need to have computer competency in addition to the knowledge they gain in their major; the IT minor, which is tailored to grow students’ understanding of computer and information technology applications, helps prepare students for the future.

Students who minor in IT must complete a minimum of 20 credits of IT courses. All students must take IT 520, Computer Architecture, as well as an approved introductory programming course. The other three courses may be chosen from the list below.

Credit toward the minor will be given only for courses passed with C- or better, and a 2.0 grade-point average must be maintained in courses for the minor. Courses taken on the pass/fail basis may not be used for the minor. Students should declare their intent to earn a minor as early as possible and no later than the end of the junior year. During the final term, an application should be made to the dean of the student’s major college to have the minor shown on the academic record. Students must consult with their major adviser and also the minor coordinator.


Requirements:

Abbreviation Course Number Title
    1.  
IT   520   Computer Architecture  
     
    2. A programming course chosen from the following list:  
CS   405   Introduction to Applications Programming with Visual Basic  
CS   410   Introduction to Scientific Programming  
     
    3. Three courses from the following list:  
IT   403   Introduction to Internet Technologies  
IT   502   Intermediate Web Design  
IT   505   Database Programming  
IT   604   Intermediate Web Development  
IT   609   Network/System Administration  
IT   666   Computer Security