Dec 03, 2022  
College Catalog 2018-2019 
    
College Catalog 2018-2019 [ARCHIVED CATALOG]

Computer Science Major


NOTE: Changes to the Computer Science major have been approved and will appear in the 2019-2020 catalog, which will be published around April 1, 2019. Inquiries about these changes should be addressed directly to the the department.

Major Requirements


  1. Introductory sequence:
    • One of the three introductory courses COMP 120  or COMP 123 . A student may not receive credit towards the major for more than one of these courses. Students who pass out of these courses typically begin the major with COMP 124 .
    • The introductory course COMP 124 .
  2. Core courses: the four required core courses COMP 221 , COMP 225 , COMP 240 , and COMP 261 .
  3. Elective courses: A minimum of three advanced elective courses in computer science, numbered 300-500.
  4. Supporting courses: MATH 279  and any two additional mathematics courses, numbered 135 or above, taken at Macalester and approved by the department. Courses which are highly appropriate for computer science majors would include: MATH 135 , MATH 137 , MATH 155 , MATH 236 , MATH 313 .
  5. Capstone: The College’s capstone graduation requirement in Computer Science is satisfied by:

    - passing an approved capstone course (COMP 342 , COMP 346 , COMP 380 , COMP 440 , COMP 445 , COMP 479 , COMP 484 ), passing an Independent Study associated with an Honors thesis, or passing a capstone-approved topics course (COMP 494) and
    - giving a public presentation of your work to a general audience on Capstone Day in April, and
    - participating in all departmental senior capstone meetings

     The capstone course must be taken junior year or fall of senior year. Each course designated as such will include a serious semester project, and each Computer Science  major must pass the project part of the class.

In addition to the three required mathematics courses, students are strongly encouraged to include some of the following courses as part of their elective program: MATH 155 - Introduction to Statistical Modeling , MATH 236 - Linear Algebra MATH 253 - Machine Learning , MATH 354 - Probability , MATH 313 - Advanced Symbolic Logic , MATH 455 - Mathematical Statistics , and MATH 432 - Mathematical Modeling .

Students who plan to attend graduate school in computer science are encouraged to take more than the minimum number of computer science electives as well as additional supporting work in related disciplines. In order to ensure orderly progress through the curriculum, introductory courses (COMP 120  or COMP 123 , COMP 124 ) and core courses (COMP 221 , COMP 225 , COMP 240 , and COMP 261 ) should generally be completed before a student enrolls in advanced electives or begins an independent project.

A typical computer science major would take the following courses toward the major in the first two years:

Year 1: COMP 120  or COMP 123 , COMP 124 ; MATH 279 ; a second mathematics course
Year 2: COMP 225 ; COMP 221 ; COMP 240 ; COMP 261 ; a mathematics course

However, there is a good deal of flexibility in the computer science program, and a student’s exact schedule will be determined only after consultation with his or her major advisor.