Undergraduate Degree Programs
The required course work in computer science provides the student with an understanding of the basic areas of computer science: structure of programming languages, operating systems, software engineering, algorithms and data structures, computer architecture, and the theory of computer science. Electives allow students to study additional topics such as database, high performance computing, networks, artificial intelligence and cybersecurity. A capstone experience allows students to use their accumulated knowledge of the field either through field experience, independent study, or as an undergraduate researcher in one of our laboratories.
 Bachelors Degrees
 BS Computer Science
 BS Degree Requirements
 Model Curriculum for BS Degree
 Course Checklist for BS Degree (check with main office for current year if needed)
 BA Computer Science
 BA Degree Requirements
 Model Curriculum for BA Degree
 Course Checklist for BA Degree (check with main office for current year if needed)
 Minor Degree in Computer Science
Bachelors Degrees
The School offers the Bachelor of Science (B.S.) and Bachelor of Arts (B.A) degrees in computer science.
The Bachelor of Science (B.S.) degree is our traditional computer science undergraduate degree. It prepares students to work in the computer industry or to study computer science in graduate school. The B. S. degree is also appropriate for students who wish to contribute a strong computer science background to an interdisciplinary team, such as one in bioinformatics. The B.S. degree is accredited by the Computing Accreditation Commission of ABET.
The Bachelor of Arts (B.A.) degree gives the student a strong foundation in computer science while providing more flexibility in coursework outside the major. It also prepares the student for a rewarding career in computing or for graduate work.
Bachelor of Science Degree in Computer Science: Degree Requirements
All courses required by the Computer Science Department must be taken for a grade; courses taken pass/fail will not count.
Computer Science Courses 50 credit hours:
 *COS 125 Introduction to Problem Solving using Computer Programming (3 cr.)
 *COS 140 Foundations of Computer Science (3 cr.)
 *COS 225 ObjectOriented Design and Data Structures (4 cr.)
 COS 226 Introduction to Data Structures (3 cr.)
 COS 235 Computer Architecture (4 cr.)
 COS 250 Discrete Structures (3 cr.)
 COS 301 Programming Languages (3 cr.)
 COS 331 Operating Systems (3 cr.)
 COS 350 Data Structures and Algorithms (3 cr.)
 COS 397 Computer Science Capstone 1 (3 cr.)
 COS 420 Introduction to Software Engineering (3 cr.)
 COS 451 Automata, Computability and Languages (3cr.)
 COS 490 Computers, Ethics and Society (3 cr.)
 COS 497 Computer Science Capstone 2 (3 cr.)
 Six additional credit hours from courses COS 3XX, COS 4XX and COS 5XX or approved substitutes.
MATHEMATICS COURSES 1415 CREDIT HOURS:
 *MAT 126 Calculus I (4 cr.)
 *MAT 127 Calculus II (4 cr.)
 Statistics: one of STS 215, STS 232, STS 332 or STS 434 (34 cr.)
 One math course from MAT 228 or 258 or 259 or 261 or 262 (34cr.)
CAPSTONE EXPERIENCE REQUIREMENT:
To meet the capstone requirement for the B.S. students must use their accumulated knowledge of the field in addressing a particular problem. Students may meet the capstone requirement through completing COS 397 and COS 497.
ENGLISH 6 CREDIT HOURS:
 *ENG 101 College Composition (3 cr.)
 ENG 317 Business and Technical Writing (3 cr.)
SCIENCE REQUIREMENT – 14 credit hours This must include a twosemester sequence of a laboratory science (e.g., PHY 121 and PHY 122), for a total of 8 hours, and an additional 6 hours of science courses. Courses fulfilling this requirement may be from any of the following areas:
 Astronomy (AST; except AST 114)
 Biological Sciences (BIO)
 Biochemistry, Microbiology, and Molecular Biology (BMB; BMB 207 and above)
 Chemistry (CHY; CHY 121 and above)
 Earth Sciences (ERS; ERS 100 and above)
 Forest Ecosystem Science (FES)
 Marine Science (SMS; SMS 100 and above)
 Physics (PHY; PHY 121 and above)
 Wildlife Ecology (WLE; WLE 200 and above)
*A student must complete these courses with a grade of “C” or better in each. A grade of C is not sufficient.
Model Curriculum for the B.S. in Computer Science
This schedule illustrates one way of meeting the degree requirements within four years. Sufficient hours must be included to reach the University degree minimum of 120. All School, College and University requirements must be met. Electives may be moved around and some adjustments might need to be made if you take a 4 credit statistics course instead of a 3 credit course.
FIRST YEAR 

First Semester (13cr)  13 Credits  Second Semester (17cr)  17Credits  
COS 125  3  COS 225  4  
COS 140  3  COS 235  3  
MAT 126  4  MAT 127  4  
ENG101 or Elective  3  ENG 101 or Elective  3  
Elective  General Education  3  
SECOND YEAR 

First Semester  16 Credits  Second Semester  14 Credits  
COS 226  3  COS 350  3  
COS 250  3  COS Elective  3  
Statistics  3  Lab Science II  4  
Lab Science I  4  General Education  3  
General Education  3  
JUNIOR YEAR 

First Semester  15 Credits  Second Semester  15 Credits  
COS 301  3  COS 420  3  
COS 331  3  COS 451  3  
ENG 371  3  COS Elective  3  
Science *  3  Science *  3  
General Education  3  General Education  3  
SENIOR YEAR 

First Semester  15 Credits  Second Semester  15 Credits  
COS 397  3  COS 497  3  
COS 490  3  COS Elective  3  
General Education  3  Elective  3  
Elective  3  Elective  3  
Elective  3  Elective  3 
Bachelor of Arts Degree in Computer Science: Degree Requirements
Computer Science Courses – 47 credit hours
 *COS 125 Introduction to Problem Solving Using Computer Programming (3 cr.)
 *COS 140 Foundations of Computer Science (3 cr.)
 *COS 225 ObjectOriented Design and Data Structures (4 cr.)
 COS 226 Introduction to Data Structures (3 cr.)
 COS 235 Computer Architecture (4 cr.)
 COS 250 Discrete Structures (3 cr.)
 COS 301 Programming Languages (3 cr.)
 COS 331 Operating Systems (3 cr.)
 COS 350 Data Structures and Algorithms (3 cr.)
 COS 397 Computer Science Capstone 1 (3 cr.)
 COS 420 Introduction to Software Engineering (3 cr.)
 COS 451 Automata, Computability, and Languages (3 cr.)
 COS 490 Computers, Ethics and Society (3 cr.)
 COS 497 Computer Science Capstone 2 (3 cr.)
 Three additional credit hours from COS 3XX, COS 4XX and COS 5XX.
Other Required Courses:
 *MAT 126 Calculus I
 *MAT 127 Calculus II
 Statistics: one of STS 215, STS 232, STS 332 or STS 434 (34 cr)
 *ENG 101 College Composition
 ENG 317 Business & Technical Writing (Gen. Ed. Writing Intensive)
*Courses must be completed with a grade of “C” or better in each; a grade of “C” (C minus) is not sufficient.
Minor
Students must take an approved minor in some department outside their home department. Minors typically require 1821 credit hours. Also note students must have a minimum of 72 credit hours outside the academic major.
Model Curriculum for the B.A. in Computer Science
This schedule illustrates one way of meeting the degree requirements within four years. Sufficient hours must be included to reach the University degree minimum of 120. All School, College and University requirements must be met. Students should use electives to complete University general education requirements, and to meet the requirements for a minor. A single course may meet more than one of these requirements. You will have to adjust the model curriculum if your minor requires some number of credit hours that is not 18. Electives may be moved around and some adjustments might need to be made if you take a 4 credit statistics course instead of a 3 credit course.


Minimum hours needed for graduation: 120 degree hours. Required GPA: 2.00. Required Major GPA: 2.00. At least 18 hours of computer science courses numbered 300 or above must be taken at Orono. All students must satisfy the general education requirements of both the College of Liberal Arts and Sciences and University. A University of Maine student who wishes to take a course elsewhere for the degree must have the course approved in advance by the department and the college.
Minor Degree in Computer Science
There are two tracks that earn a minor in Computer Science. Both require at least 18 credit hours of COS courses.
Track 1:
 * COS 125 Introduction to Problem Solving Using Computer Programming (3 credit hours).
 * COS 140 Foundations of Computer Science (3 credit hours).
 * COS 225 ObjectOriented Design and Data Structures (4 credit hours).
 COS 226 Introduction to Data Structures (3 credit hours).
 Plus any two additional courses including COS250 or 300level or above.
Track 2:
 * COS 140 Foundations of Computer Science (3 credit hours).
 COS 220 Introduction to C++ Programming (3 credit hours).
 COS 221 Data Structures in C++ (3 credit hours).
 COS 235 Computer Architecture (4 credit hours).
 Plus any two additional courses including COS250 or 300level or above.
Students who have taken ECE 177 or a similar course may be excused from taking COS 220. If they choose to be excused from COS 220, they must either take COS 125 or an additional COS course at the 200 level or above.
Students who have taken an ECE architecture course may be excused from taking COS 325, but must take an additional COS course at the 300 level or above.
* Courses must be completed with a grade of “C” or better in each; a grade of “C” (C minus) is not sufficient.