Proposed Changes

Proposed Minor Changes

We have submitted a revision to our minor degree program that we expect to have approved by the University shortly -- the revision, which requires five classes, is explained below, and we plan for it to begin in Jan 2009. Until the change is approved,

Proposed CS Minor

The following degree program is under review by the University of Massachusetts at Amherst and is not yet official. We do not expect it to be approved before January 1, 2009. Students graduating before then are subject to our existing degree requirements.

The proposed new CS minor would require only five classes. It can be completed by students that begin as late as their junior year. The first two classes are CS121 Introduction to Problem Solving with Computers and CS187 Programming with Data Structures. You can read a full description of those two classes.

In addition to 121 and 187, students must take two of the following classes:

  • 220/291a Programming Methodology - How to write software. You may think you know how to do this if you have programmed before. But: most commercial software is written my many people over the course of many years and to satisfy constantly changing requirement. To be able to deliver a reliable software system, you should take this class.
  • 240/291b Reasoning with Uncertainty - How to capture the complexity of the real world. Applications such as word processing are pretty mature at this point. But applications that depend on complex, noisy, and uncertain data remain very challenging. At the same time, progress with such applications could greatly affect many real-world problems, ranging from imaging of medical data to the analysis of financial data, from predicting weather phenomena to monitoring environmental pollution.
  • 250 Introduction to Computation - The mathematical foundations of computer science. The entire field of computer science relies on elegant and beautiful concepts from mathematics. If you are serious about obtaining a deep understanding of the foundations of computer science, taking this class will be right for you.
  • 201 Architecture and Assembly Language Programming - The architecture and machine-level operations of modern computers at the logic, component, and system levels. This class will teach you how the computer operates at its lowest levels. We use simple assembly language and a modern processor to explore how common computational tasks are accomplished by a computer.
  • 287 Programming Language Paradigms - How to think like a programmer. This course presents four paradigms of program: functional, logical, imperative, and object-oriented. These different paradigms point out that how one thinks about programming affects greatly affects the results, making some programs easier to analyze and understand.

These four classes offer a pretty broad exposure to the fundamental concepts of computer science.

In the fifth required class, you can pursue your own interests to learn more about networks, databases, robotics, machine learning, etc. You can take any class with a number larger than 200 (with the exception of CS305).

These requirements are easy to satisy and you can start in your freshman year. Even if you decide at the beginning of your junior year that you're interested in computer science, the minor will fit into your schedule. Here are two options:

A flow chart for the CS minor

Note: 200+ refers to any computer science course with a course number of 200 or above, with the exception of CS305)

It is recommended that you first take the two of 220, 240, 200c or 201 courses, before completing the fifth class, but in some cases this might not be required.

A reminder that the above degree program is under review by the University of Massachusetts at Amherst and is not yet official. We do not expect it to be approved before January 1, 2009. Students graduating before then are subject to our existing degree requirements.