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 9 credits of approved natural science courses (see below for details on approved courses) plus at least 1 credit of a companion natural science lab course.  This means that students must take at least one natural science course that has a complementary lab section.  However, that the Computer Science faculty recommends that students always take the complementary lab for any natural science course when a lab is available.

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

The faculty has approved a change in the curriculum for undergraduate CS majors who take 91.304 (undergraduate Foundations of Computer Science) or 91.502 (Graduate Foundations of Computer Science). The number of general electives these students must take has been reduced from five to four (for students doing the General Education Requirements instead of the Areas). You must still accumulate 120 credits. You may take more than four general electives if you choose.

This change applies to students required to take 91.304. It also applies to students who choose to take 91.304 or 91.502 as a CS elective or a general elective. If you are a major doing the old core (the Areas) and are considering taking 91.304 or 91.502, please see Prof. Heines for an explanation of how the new rules apply to you. Only students who have been continuously enrolled at University of Massachusetts Lowell since BEFORE Fall of 1993 should be following the old core.

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.