Roanoke College

Computer Science: Bachelor of Science

Back

Major Requirements - B.S. in Computer Science

(for students who entered Roanoke College Fall 2010 or later)


Suggested Freshman Courses:    
EITHER
          MATH 118* DIFFERENTIAL CALCULUS done need
          AND
          MATH 119* INTEGRAL CALCULUS done need
     OR
          MATH 121* CALCULUS I done need
MATH 122 CALCULUS II * done need
CPSC 120 FUNDAMENTALS OF COMPUTER SCIENCE I (*) done need
CPSC 170 FUNDAMENTALS OF COMPUTER SCIENCE II done need
MATH 131 DISCRETE MATHMATICS done need
Suggested Sophomore Year Courses:    
CPSC 250 DATA STRUCTURES & ALGORITHMS done need
CPSC 290 COMPUTER ARCHITECHTURE & OPERATNG SYSTEMS done need
MATH 201 LINEAR ALGEBRA done need
STAT 202 PROBABILITY done need
Suggested Junior/Senior Year Courses:    
CPSC 390 ** THEORY OF COMPUTATION done need
CPSC 395 *** ANALYSIS OF ALGORITHMS done need
CPSC 425 ** PRINCIPLES OF PROGRAMMING LANGUAGES done need
ELECTIVE **** done need
ELECTIVE **** done need
Senior Year Course:    
CPSC 436 or 435 & 437 SENIOR RESEARCH done need
Elective Choices:    
CPSC 301/302 SYSTEMS ADMINISTRATION 1 AND 2 (Offered every year) done need
CPSC 310 TOPICS IN APPLIED COMPUTING done need
CPSC 340 ** DATABASE SYSTEMS done need
CPSC 342 NUMERICAL ANALYSIS done need
CPSC 350 HUMAN COMPUTER INTERACTION done need
CPSC 360 NETWORKS done need
CPSC 365 *** SOFTWARE ENGINEERING & PROJECT DESIGN done need
CPSC 405 INDEPENDENT STUDY AND RESEARCH (1/2 unit) done need
CPSC 406 INDEPENDENT STUDY AND RESEARCH ( 1 unit) done need
CPSC 407 INDEPENDENT STUDY AND RESEARCH (1/2 unit) done need
CPSC 415 *** WEB PROGRAMMING done need
CPSC 416 INTERNSHIP done need

* CPSC 120, MATH 118 and 119, or 121, and MATH 122 are not explicitly required for the major but are prerequisites for all required courses in the major.  Students should consult a computer science faculty member about the need to take these courses.  

** Taught in 2011/2012 and alternate years: take either junior or senior year depending upon when offered.

*** Taught in 2012/2013 and alternate years: take either junior or senior year depending upon when offered.

**** Two elective units are required.  One of these units may be Math 306 or Math 361. Elective courses are taught on a rotation basis, not every year.