B.sc. CS Major Requirements & Plan
B.sc. CS Major Requirements & Plan
in Computer Science 1
Curriculum Requirements for B.S. in Computer Science and for Additional Major in
Computer Science with Tracks
Code Title Credit Hours
Core Computer Science Courses
CSC 120 Computer Programming I 4
CSC 220 Computer Programming II 4
CSC 314 Computer Organization and Architecture 3
CSC 317 Data Structures and Algorithm Analysis 3
CSC 322 System Programming 3
CSC 427 Theory of Computing 3
CSC 431 Introduction to Software Engineering 3
1
Core Mathematics Courses
MTH 161 Calculus I (or equivalent - MTH 140 and MTH 141, MTH 151, or 4
MTH 171)
MTH 162 Calculus II (or equivalent - MTH 172) 4
MTH 210 Introduction to Linear Algebra 3
MTH 224 Introduction to Probability and Statistics 3
MTH 309 Discrete Mathematics I 3
Tracks
Select one of the following Tracks: 17
2,3
Comprehensive Track:
CSC 419 Programming Languages
or CSC 546 Introduction to Machine Learning with Applications
CSC 421 Principles of Computer Operating Systems
CSC 423 Database Systems
CSC 424 Computer Networks
Select a minimum of 5 credit hours of approved electives
2
Flexible Track:
Select a minimum of 17 credit hours of approved electives
4
Computational Science Track:
CSC 210 Computing for Scientists
CSC 528 Introduction to Parallel Computing
CSC 547 Computational Geometry
CSC 548 Bioinformatics Algorithms
CSC 410 Computer Science Project Planning
or CSC 411 Computer Science Project Implementation
MTH 320 Introduction to Numerical Analysis
or MTH 520 Numerical Linear Algebra
5
BIL 150 General Biology
5
BIL 151 General Biology Laboratory
4
Cryptography and Security Track:
CSC 421 Principles of Computer Operating Systems
CSC 424 Computer Networks
CSC 507 Data Security and Cryptography
CSC 410 Computer Science Project Planning
2 B.S. in Computer Science
1
These mathematics courses can also fulfill the requirements for a Minor in Mathematics (see here (http://bulletin.miami.edu/undergraduate-
academic-programs/arts-sciences/mathematics/mathematics-minor/) for details).
2
Available to all students.
3
The Comprehensive Track provides coverage of the topics in Computer Science prescribed by the Association of Computing Machinery
curriculum and the ABET Computing Accreditation Commission.
4
Requires permission of the Director of Undergraduate Studies.
5
In addition to the generally approved electives, CIM 423, CIM 433, MMI 504, and MMI 505 are approved for the Graphics and Games track.
6
This course may also be applied towards the Science requirement.
7
In addition to the generally approved electives, JMM 429 is approved for the Data Science track.
8
CSC 40X - Computer Science Practicum must be taken at the same time as host course.
9
Maximally 6 credit hours from CSC 481 - Computer Science Teaching Assistant.
10
CSC115 can be used as an elective towards the major only if taken before CSC120.
11
ECE 481 and ECE 482 may be used to replace any requirement for CSC 410 and CSC411.
12
For the Additional Major in Computer Science, with Tracks, students not in the College of Arts and Sciences should use the requirements of
their school or college's degree in place of the additional requirements listed here.
Year Three
Fall
CSC 317 Data Structures and Algorithm Analysis 3
CSC 401 Computer Science Practicum I 1
CSC 423 Database Systems 3
MTH 224 Introduction to Probability and Statistics 3
People and Society Cognate Course 3
Writing Intensive Course 3
Credit Hours 16
Spring
CSC 424 Computer Networks 3
CSC 427 Theory of Computing 3
ENG 233 Advanced Writing for STEM 3
Arts and Humanities Cognate Course 3
People and Society Cognate Course 3
Credit Hours 15
Year Four
Fall
CSC 421 Principles of Computer Operating Systems 3
Computer Science Elective 3
CSC 405 Computer Science Seminars 1
Arts and Humanities Cognate Course 3
People and Society Cognate Course 3
Credit Hours 13
Spring
CSC 419 Programming Languages 3
CSC 431 Introduction to Software Engineering 3
Arts and Humanities Cognate Course 3
Elective 3
Elective 3
Credit Hours 15
Total Credit Hours 121
Mission
The Department's mission is to educate and perform scholarly activities in the discipline of Computer Science, in order to meet national and
international demand for trained computer scientists who are capable of building the robust computation structures upon which society is becoming
increasingly dependent.
Goals
Students will acquire understanding and capability for the structure and developmental processes of software systems, from the translation of domain
problems to forms amenable to software solution, through the production of efficient and robust computer programs, to the supporting systems and
hardware components.
Students will acquire these abilities through a combination of classroom instruction, laboratory work, independent project work, and group project
work.
Graduates will be prepared to work in industries that are directly involved in the development of fundamental computing resources (e.g., Microsoft,
Apple, IBM, Intel, etc.), and in industries that rely on computation in support of their core businesses (e.g., banking, transport, manufacturing, medical,
etc.).
Faculty and students will engage in activities that support and achieve the development of new techniques and software that can contribute to the
science, and where appropriate contribute to the teaching objectives. Examples of such activities include academic research, development of novel
techniques and software products, consulting and internship activities in local industries, and maintaining awareness of cutting edge approaches to
Computer Science.
B.S. in Computer Science 5