Computer Science

Computer Science Major

For additional information visit the Computer Science Department or contact us.

University Core/General Education Requirements

Major Requirements

BS/MS Program 
Course Descriptions

General Education Requirements 

For a general description of the current General Education ("GenEd") requirements, please see the General Education website.

For a list of courses that currently satisfy the General Education requirements, please see the General Education website.

Computer science majors typically satisfy the new GenEd 2000 requirements by taking

  • College Writing I and College Writing II, 
  • three courses designated as Arts and Humanities,
  • three courses designated as Social Sciences,
  • one course designated as a Diversity course, and
  • one course that satisfies the Computer Science Ethics Requirement.

Major Requirements

Computer Science Courses

  • 91.101 Computing I for 4 credits
  • 91.102 Computing II for 4 credits
  • 91.201 Computing III for 4 credits
  • 91.203 Computer Organization & Assembly Language for 4 credits
  • 91.204 Computing IV for 3 credits
  • 91.301 Organization of Programming Languages for 3 credits 
  • 91.304 Foundations of Computer Science for 3 credits
  • 91.305 Computer Architecture for 3 credits
  • 91.308 Introduction to Operating Systems for 3 credits
  • 91.404 Analysis of Algorithms for 3 credits
  • Computer Science Project Sequence for 6 credits 
  • Computer Science Elective for 6 credits

View the complete Course of Study (pdf).

Computer Science Project Sequence

All Computer Science majors must take a one- or two-semester project course from the approved department list. Students who take an approved one-semester project course such as Compiler Writing must take two additional Computer Science electives; otherwise, only one is required. Students may not take more than 6 credits from any combination of the following: 91.401, 91.402, 91.460, and 91.490. Current project course sequences include:

  • 91.309 Database I and 91.310 Database II
  • 91.401 Software Project Lab I and 91.402 Software Project Lab II
  • 91.406 Introduction to Compiler Writing and Computer Science Elective
  • 91.411 Software Engineering I and 91.412 Software Engineering II
  • 91.413 Data Communications I and 91.414 Data Communications II
  • 91. 414 Data Communications I and 91.561 Computer Security I
  • 91.420 Artificial Intelligence and 91.421 Machine Learning and Data Mining
  • 91.427 Graphics I and 91.428 Graphics II
  • 91.450 Robotics I and 91.451 Robotics II
  • 91.491 GUI Programming I and GUI Programming II or 91.427 Graphics I
  • 91.561 Computer Security and 91.562 Computer Security II

This list is subject to revision. Students should check with their advisors for the latest information.

Some project sequences are not offered every year. Thus, you should take the second course of a project sequence in the semester immediately following the one in which you took the first course of that sequence.

Computer Science Electives 

In addition to undergraduate courses with 91.3xx and 91.4xx numbers, most 500-level computer science courses may also be used as computer science electives. For example, undergraduate computer science majors are often qualified to take 91.502, 91.515, 91.521, 91.522, 91.538, 91.539, 91.540, 91.541, 91.543, or 91.546.

Supporting Courses in Science and Mathematics

  • 92.131 Calculus I for 4 credits 
  • 92.132 Calculus II for 4 credits
  • 92.321 Discrete Structures I for 3 credits
  • 92.322 Discrete Structures II for 3 credits
  • 92.386 Probability and Statistics I for 3 credits
  • 16.265 Logic Design for 3 credits

Additional Writing Requirement

In addition to 42.101 and 42.102, College Writing I and II, all CS majors are required to take 42.220, Oral and Written Communication for Computer Science.

Technical Electives

CS students must complete 6 credits of courses offered by the College of Arts & Sciences, Science Division (this is our college) or the College of Engineering. Courses that fulfill this requirement must be classified as required or elective courses for the majors in those departments. In general, 90.xxx courses may not be used to fulfill this requirement.

Natural Science Requirements

Student must pass at least 12 credits of approved natural science courses and companion lab courses (see below for details on approved courses). Among these, at least one natural science course and a complementary lab section have to be taken. However, that the Computer Science faculty recommends that students always take the complementary lab for any natural science course when a lab is available, so that three natural science courses and companion labs satisfy the requirements. When one natural science course and a companion lab are taken, three additional natural science courses without companion labs satisfy the requirements.

Natural science electives must come from one of the four natural science departments in the College of Sciences. These are:

  • Biological Sciences
  • Chemistry
  • Environmental, Earth, and Atmospheric Sciences
  • Physics and Applied Physics

The courses in these departments that fulfill the CS natural science elective requirement are those that are classified as either required or elective courses for the majors in the respective departments.  In general, courses that satisfy GenEd technical elective requirements for non-science majors do not satisfy the CS natural science elective requirement.  Such unallowed courses are ones whose University catalog descriptions contain the statement: “This course satisfies the GenEd science requirement, but not specific science requirements for majors in the Division of Science.”

Ethics Requirement

The Computer Science Department requires its majors to take an Ethics course.

Courses currently approved as satisfying this requirement are

  • 57.211 Sustainable Development
  • 59.395 Computers in Society
  • 45.335 Ethical Issues in Technology
  • 45.341 Science, Ethics, and Society
  • 45.334 Engineering and Ethics
  • 45.401 Bioethics and Genetic Research

When a course satisfies the Ethics Requirement and a General Education Requirement, CS Majors can use it to satisfy both requirements.

General Elective Courses

With certain exceptions, CS students may take any three or four credit course from any academic department within the University as a general elective.

At least one general elective must be in a non-technical area, i.e., not in computer science, the sciences, mathematics, engineering, or similar disciplines.  It is safe to choose a course in the humanities or social sciences that does not have a computation or other technical focus.

For all the general electives, CS students must avoid:

  • courses in areas required by the CS curriculum (mathematics and physics) unless they are at a level higher than the courses required by the CS curriculum
  • non-CS courses having a significant computing component or a significant overlap in content with courses required by the CS curriculum
  • CS courses for non-majors

The determination of the acceptability of any proposed general elective course will be made by the CS Department Undergraduate Coordinator.

Examples of courses that may NOT be used as general electives are

  • programming language courses offered by other departments (all computer science courses have 91.xxx course numbers; 90.xxx and 92.xxx courses are offered by the Mathematics Department)
  • MIS or IT courses
  • mathematics courses below the level of the science and engineering calculus sequence
  • CS courses for non-majors
  • many certificate courses (including some Computer Science Department courses) offered through Continuing Education

You may take courses that do not qualify as general electives. Such courses appear on your transcript and are part of your overall GPA. However, these courses do not count toward your BS degree in Computer Science.

Students who have taken courses in the above categories before they came to UMass Lowell are usually allowed to use them as general electives.

Total Credits Required for the Degree

Students must take or transfer an appropriate course for each slot in the curriculum grid. Each course can fill only one slot. The University requires at least 120 credits to graduate.

Academic Standing

Beginning with the first semester of the sophomore year, and every semester thereafter, CS majors must maintain

  • a cumulative grade point average of 2.5 or better in all CS courses (91.xxx) taken at UMass Lowell.
  • a cumulative grade point average of 2.3 or better in all courses taken at UMass Lowell.

Students who fail to satisfy these requirements will not be allowed to graduate. Thus, students should review their cumulative grade point averages regularly with their advisors.