CS + Music

Computer Science + Music, BS
for the degree of Bachelor of Science Major in Computer Science + Music

CS + Music will prepare students for advanced study at the graduate level for many existing programs on music and audio technology, as well as equip them with the proper skills to successfully join and lead a vibrant workforce community centered around the creation and distribution of entertainment media through constantly evolving technology platforms.

The CS + Music, blended bachelor's degree, is a partnership between the Siebel School of Computing and Data Science in The Grainger College of Engineering and the Department of Music in the College of Fine + Applied Arts. As part of the computing community at Illinois, you will benefit from being part of a top-five-ranked Computer Science program with world-class faculty and research. Learn more about the School's Rankings and Statistics.

Alma Mater statue

Degree Requirements

See requirements and curriculum map.

Course Catalog

College of FAA

Learn more and how to apply.

Program Page

The metal Grainger Bob statue sits and reads a book.

Frequently Asked Questions

Explore common questions and answers.

FAQ

Five smiling students in matching grey shirts with arms around each other's shoulders on the Bardeen Quad.

CS Student Life

With 800+ student organizations and many CS Student Groups, there's a community for everyone at Illinois.

Student Organizations

Four women talk and work together.

Undergraduate Research

Participate in high-impact semester, year-round, or summer research, mentorship, and showcase opportunities.

Research Opportunities

People in business clothes stand and talk to potential employers.

Career Services

Explore comprehensive career services supporting internships, job searches, and resume development. 

Career Information

Curriculum Map

The curriculum sequence mapped below is a sample sequence. Students will work with an academic advisor to achieve educational goals specific to their needs and preparation.

  • Course prerequisite chain
  • Immediate prerequisite
  • Credit or concurrent registration required
  • Concurrent registration required
  • Postrequisite course sequence
Computer Science + Music Curriculum Map
First YearSecond YearThird YearFourth Year
Fall First YearSpring First YearFall Second YearSpring Second YearFall Third YearSpring Third YearFall Fourth YearSpring Fourth Year
CS 124 (3)
Basic concepts in computing and fundamental techniques for solving computational problems. Intended as a first course for computer science majors and others with a deep interest in computing. Course Information: Credit is not given for both CS 124 and CS 125. Prerequisite: Three years of high school mathematics or MATH 112.
MATH 221 (4)1
First course in calculus and analytic geometry for students with some calculus background; basic techniques of differentiation and integration with applications including curve sketching; antidifferentation, the Riemann integral, fundamental theorem, exponential and trigonometric functions. Course Information: Credit is not given for both MATH 221 and either MATH 220 or MATH 234. Prerequisite: An adequate ALEKS placement score as described at http://math.illinois.edu/ALEKS/ and either one year of high school calculus or a minimum score of 2 on the AB Calculus AP exam. Class Schedule Information: Students must register for one discussion and one lecture section beginning with the same letter. Engineering students must obtain a dean's approval to drop this course after the second week of instruction.
FAA 101 (1)
Common Arts experience for FAA first-year students that explores contemporary issues in the arts, cross-disciplinary ingenuity navigating a comprehensive research intensive university, professional practices and exposures to FAA faculty and guest artists through lectures, discussion groups, and online components. Class Schedule Information: Must register for lecture and one discussion section.
MUS 100 (0)
This half-semester course is intended for music majors and addresses the physical health and mental well-being concerns that may arise in pursuing a music degree. The selection of material covered in this course is meant to lay a foundation to form healthy habits, practices, and attitudes that a student can utilize over both their academic and professional careers. Course Information: Approved for S/U grading only.
MUS 101 (2)
This is the first in a sequence of four courses in the undergraduate music theory core. Students develop competence and essential skills relating to music literacy, technology, and conceptualization through a project-oriented approach. Topics include reading music in a variety of formats, understanding hardware and software for music notation, composition and recording, and core principles of acoustics and psychoacoustics. . Course Information: Credit is not given for both MUS 101 and MUS 103. Class Schedule Information: Students must register for the lecture and one discussion section.
MUS 107 (2)
Beginning aural skills training in the areas of intervals, scales, chords, rhythm, melody, and harmony. Class Schedule Information: Students must register for one lab-discussion and one lecture section.
RHET 105 (4)2
Introduction in research-based writing and the construction of academic, argumentative essays that use primary and secondary sources as evidence. This course fulfills the Campus Composition I general education requirement. Course Information: Credit is not given for both RHET 105 and any of these other Comp I courses: RHET 101, RHET 102, CMN 111 or CMN 112. Class Schedule Information: Students whose second language is English should take an English placement test through the Division of English as an International Language, before signing up for rhetoric. Engineering students must obtain a dean's approval to drop this course after the second week of instruction.
CS 128 (3)
Continuation of CS 124. More advanced concepts in computing and techniques and approaches for solving computational problems. Course Information: Prerequisite: CS 124 or CS 125.
CS 173 (3)
Discrete mathematical structures frequently encountered in the study of Computer Science. Sets, propositions, Boolean algebra, induction, recursion, relations, functions, and graphs. Course Information: Credit is not given for both CS 173 and MATH 213. Prerequisite: One of CS 124, CS 125, ECE 220; one of MATH 220, MATH 221.
MUS 102 (2)
The second of four sequential courses in the undergraduate music theory core. Explores fundamental tonal theory, including terminology, notation, analysis of musical elements, procedures and forms. Specific skills learned include melodic analysis, species counterpoint, first and second level tonal analysis, part writing, phrase structure and analysis, composition, harmonization of given melodies, and keyboarding. Course Information: Credit is not given for both MUS 102 and MUS 104. Prerequisite: MUS 101 or placement by examination. Class Schedule Information: Students must register for the lecture and one discussion section.
MUS 108 (2)
Continuation of aural skills training from MUS 107. Development of performance, notational, and listening skills in the areas of rhythm, melody, harmony, counterpoint, and formal aspects of musical structure; emphasizes tonal pitch structures. Course Information: Prerequisite: MUS 107, or placement by examination. Class Schedule Information: Register for the lecture and one discussion section.
MUS 105 (2)
Applies foundational concepts in computer science to the composition and analysis of symbolic music information. The course works with introductory computer science courses and MUS 102 to integrate key computer science techniques with music concepts. Run as a workshop presenting eight large programming projects in which students design and implement software systems that analyze and compose musical scores in different formats. Course Information: Prerequisite: MUS 101, CS 124, and MATH 220; or consent of instructor. Concurrent enrollment in MUS 102 and CS 128. Restricted to entering CS + Music students and Music Technology students with strong programming experience; or consent of instructor.
CS 225 (4)
Data abstractions: elementary data structures (lists, stacks, queues, and trees) and their implementation using an object-oriented programming language. Solutions to a variety of computational problems such as search on graphs and trees. Elementary analysis of algorithms. Course Information: Credit is not given for CS 277 if credit for CS 225 has been earned. Prerequisite: CS 126 or CS 128 or ECE 220; One of CS 173, MATH 213, MATH 347, MATH 412 or MATH 413. Class Schedule Information: Students must register for one lecture-discussion and one lecture section.
CS 222 (1)
Design and implementation of novel software solutions. Problem identification and definition; idea generation and evaluation; and software implementation, testing, and deployment. Emphasizes software development best practices?including framework selection, code review, documentation, appropriate library usage, project management, continuous integration and testing, and teamwork. Course Information: Prerequisite: CS 128; credit or concurrent registration in CS 225. Restricted to majors in Computer Science undergraduate curricula only.
MATH 231 (3)
Second course in calculus and analytic geometry: techniques of integration, conic sections, polar coordinates, and infinite series. Course Information: Prerequisite: MATH 220 or MATH 221. Class Schedule Information: Students must register for one discussion and one lecture section beginning with the same letter in Fall and Spring terms only. Engineering students must obtain a dean's approval to drop this course after the second week of instruction.
MUS 201 (2)
Continuation of MUS 102. Gradually increased emphasis on contrapuntal techniques, dissonance in tonal music, and musical form. Course Information: Prerequisite: MUS 102 and MUS 108, or placement by examination. Class Schedule Information: Students must register for one discussion and one lecture section.
MUS 207 (2)
Continuation of MUS 108. Emphasis on extensions of tonality by means of changing tonal centers and altered chords. Course Information: Prerequisite: MUS 108, or placement by examination. Class Schedule Information: Students must register for one lecture and one discussion section.
MUS 205 (2)
A follow-up course to Computation and Music I that introduces students to programming music applications with special emphasis on issues related to real-time audio system design. The class will begin by introducing students to the fundamentals of real-time audio synthesis using a graphical audio language such as Max/MSP, and then turn to hands-on design of real-time audio systems using an industry standard language such as C++. The course content reinforces materials presented in CS 128 and CS 222, including GUI frameworks, prototyping, user interface design, code refactoring and debugging. Course Information: Prerequisite: CS 124, CS 128, CS 222, MUS 101, and MUS 102; or consent of instructor. Restricted to CS + Music students and Music Technology students with strong programming experience; or consent of instructor.
CS 233 (4)4
Fundamentals of computer architecture: digital logic design, working up from the logic gate level to understand the function of a simple computer; machine-level programming to understand implementation of high-level languages; performance models of modern computer architectures to enable performance optimization of software; hardware primitives for parallelism and security. Course Information: Prerequisite: CS 125 or CS 128; CS 173 or MATH 213; credit or concurrent enrollment in CS 225.
MATH 257 (3)5
Introductory course incorporating linear algebra concepts with computational tools, with real world applications to science, engineering and data science. Topics include linear equations, matrix operations, vector spaces, linear transformations, eigenvalues, eigenvectors, inner products and norms, orthogonality, linear regression, equilibrium, linear dynamical systems and the singular value decomposition. Course Information: Credit is not given for both MATH 257 and any of MATH 125, MATH 225, MATH 227, MATH 415 or ASRM 406. Prerequisite: MATH 220 or MATH 221; CS 101 or equivalent programming experience. Class Schedule Information: Students must register for a lecture, a lab, and a discussion section.
MUS 202 (2)
Continuation of MUS 201. Study of twentieth century compositional methods. Course Information: Prerequisite: MUS 201 and MUS 207, or placement by examination.
MUS 208 (2)
Continuation of MUS 207. Emphasis on atonal pitch structures and complex rhythmic organization. Course Information: Prerequisite: MUS 207, or placement by examination.
MUS 305 (3)
Explores designing and building music composition software. The course covers topics such as implementing musical event and container classes, functional tools for manipulating symbolic music information, score file input and output, and scheduling compositional generators to create musical output. A variety of different algorithmic techniques for computing compositions will be also explored, including mapping and transformation, musical pattern generation, Markov chains, cellular automata, chaotic systems, microtonality, and spectralism. Example course outcomes include the ability to work with midi data; import, export, and modify score files, sending data in realtime to external apps, and defining data structures to represent common musical concepts such as notes, rhythms, pitches, envelopes, patterns, etc. Course Information: Prerequisite: MUS 105, MUS 205, CS 124, CS 128, CS 222; or consent of instructor. Restricted to CS+Music students and Music Technology students with strong pro
MUS 172 (2)
Group instruction in beginning piano for music majors whose principal performing medium is voice, or an orchestral or band instrument. Study of simple piano literature, development of skills in technique, sight reading, harmonization, transposition, improvisation, and analysis. Course Information: This is the first of two courses that addresses the keyboard competency policy for non-piano majors. Class Schedule Information: For school of music majors only.
CS 341 (4)4
Basics of system programming, including POSIX processes, process control, inter-process communication, synchronization, signals, simple memory management, file I/O and directories, shell programming, socket network programming, RPC programming in distributed systems, basic security mechanisms, and standard tools for systems programming such as debugging tools. Course Information: Credit is not given for both CS 341 and either CS 241 or ECE 391. Prerequisite: CS 225 and CS 233. Class Schedule Information: Students must register for one lecture and one discussion section.
CS 361 (3)6
Introduction to probability theory and statistics with applications to computer science. Topics include: visualizing datasets, summarizing data, basic descriptive statistics, conditional probability, independence, Bayes theorem, random variables, joint and conditional distributions, expectation, variance and covariance, central limit theorem. Markov inequality, Chebyshev inequality, law of large numbers, Markov chains, simulation, the PageRank algorithm, populations and sampling, sample mean, standard error, maximum likelihood estimation, Bayes estimation, hypothesis testing, confidence intervals, linear regression, principal component analysis, classification, and decision trees. Course Information: Same as STAT 361. Credit is not given for both CS 361 and ECE 313. Prerequisite: MATH 220 or MATH 221; credit or concurrent registration in one of MATH 225, MATH 257, MATH 415, MATH 416 or ASRM 406. For majors only.
MUS 173 (2)
Continuation of skills introduced in MUS 172. Group instruction in elementary piano for music majors whose principal performing medium is voice, or an orchestral or band instrument. Sight-reading, harmonization, transposition, and improvisation. Easy solos from the main historical periods with appropriate technical development; introduction to piano ensemble literature. Course Information: This is the second of two courses that addresses the keyboard competency policy for non-piano majors. Prerequisite: MUS 101 and MUS 107; MUS 172 or equivalent; or consent of instructor. Class Schedule Information: For school of music majors only. Must have completed MUS 101 or equivalent.
ECE 402 (3)
Historical survey of electronic and computer music technology; parameters of musical expression and their codification; analysis and synthesis of fixed sound spectra; time-variant spectrum analysis/synthesis of musical sounds; algorithms for dynamic sound synthesis. Course Information: 3 undergraduate hours. 3 graduate hours. Prerequisite: ECE 310.
CS 374 (4)
Analysis of algorithms, major paradigms of algorithm design including recursive algorithms, divide-and-conquer algorithms, dynamic programming, greedy algorithms, and graph algorithms. Formal models of computation including finite automata and Turing machines. Limitations of computation arising from fundamental notions of algorithm and from complexity-theoretic constraints. Reductions, undecidability and NP-completeness. Course Information: Same as ECE 374. Prerequisite: One of CS 173, MATH 213; CS 225.
CS 448 (3-4)
Computational foundations of modern audio applications: theory of audio processing for implementation of applications such as room and 3D/virtual audio rendering, pitch manipulations and autotuning, denoising for communications and forensics, audio classification, music information retrieval based on audio, rudimentary speech recognition, speech and audio coding, applications of machine learning to audio scene recognition, audio restoration, missing data recovery, and many more. This will be a lab-like course in which students collectively implement a variety of core audio operations that are commonplace today. Students will be required to bring to class their laptops and headphones to participate in lab exercises. Course Information: 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: One of CS 241, CS 341, or ECE 391; one of MATH 225, MATH 257, MATH 415, MATH 416, ASRM 406, or BIOE 210.
MUS 110 (3)
Surveys the history of European and American art music in an international context; examines major artistic styles, representative composers and works, and their relationship to pertinent non-western musical traditions and philosophies; reviews fundamental music concepts; strengthens aural analytical skills; familiarizes students with the music library, and research and writing techniques. Course Information: Prerequisite: First year standing in music or consent of instructor. Class Schedule Information: Students must register for one lecture and one discussion section.
CS 421 (3-4)
Structure of programming languages and their implementation. Basic language design principles; abstract data types; functional languages; type systems; object-oriented languages. Basics of lexing, parsing, syntax-directed translation, semantic analysis, and code generation. Course Information: 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: One of CS 233, CS 240 or CS 340; CS 374; one of MATH 225, MATH 257, MATH 415, MATH 416, ASRM 406, BIOE 210.
MUS 299 (1)
Special individual research projects. Required of seniors in the history of music and music theory curricula; open also to advanced undergraduates, including James Scholars, who have achieved university or college honors and who desire to do research in specialized areas of music, including performance. Course Information: May be repeated to a maximum of 4 hours. Counts for advanced hours in LAS. Prerequisite: Senior standing in the history of music or music theory curricula, or consent of instructor.
MUS 313 (3)
Survey of music and its development in Western civilization to about 1750. Emphasis on an acquaintance with representative musical works and style, and on understanding musical concepts in the light of their historical and general cultural context. Course Information: Prerequisite: MUS 110 or consent of instructor. Class Schedule Information: Students must register for one lecture and one discussion section.
MUS 407 (3)
Introduces electroacoustic music, including historical background, music literature, techniques of notation and realization, sound synthesis, analog and digital recording, mixing and processing, and compositional application in the areas of musique concrete, electronic music, and Musical Instrument Digital Interface (MIDI) technology as applied to electroacoustic concert art music. Weekly lab times assigned. Course Information: 3 undergraduate hours. 3 graduate hours. Prerequisite: Junior standing in music, or consent of instructor. Class Schedule Information: No freshmen or sophomores.
MUS 299 (1)
Special individual research projects. Required of seniors in the history of music and music theory curricula; open also to advanced undergraduates, including James Scholars, who have achieved university or college honors and who desire to do research in specialized areas of music, including performance. Course Information: May be repeated to a maximum of 4 hours. Counts for advanced hours in LAS. Prerequisite: Senior standing in the history of music or music theory curricula, or consent of instructor.
MUS 314 (3)
Survey of the development of music as an art in Western civilization from about 1750 to the present. Emphasizes an acquaintance with formal and stylistic problems through the study of representative works and on understanding specific musical concepts in the light of their historical and general cultural context. Course Information: Prerequisite: MUS 313 or consent of instructor.
MUS 409 (2)
Intermediate level study of Musical Instrument Digital Interface (MIDI) technology, sound design, digital audio engineering techniques, multi-track digital editing and audio processing in music composition, and the study of compositional, technical, and performance considerations as applied to electroacoustic concert art music. Weekly lab times are assigned. Course Information: 2 undergraduate hours. 2 graduate hours. Prerequisite: MUS 407 or placement by examination.
16 hours 15 hours 17 hours 16 hours 15 hours 14-15 hours 13-14 hours 15 hours

Notes

Before reviewing the links, students should find their effective Academic Catalog Year. When clicking any links referenced below that take students to the Academic Catalog Year pages, they should be mindful of which Academic Catalog year is displayed.

  1. MATH 220 may be substituted. MATH 220 is appropriate for students with no background in calculus. 4 of 5 credit hours count towards degree.
  2. RHET 105 (or an alternative Composition I sequence) is taken either in the first or second semester of the first year, according to the student's UIN (Spring if UIN is Odd). General Education Elective is taken the other semester. Composition I guidelines can be found at Degree and General Education Requirements under Written Communication Requirement.
  3. General education: Students must complete the Campus General Education requirements including the campus general education language requirement.
  4. CS 340 and two (2) CS technical electives (400 level CS courses) can be use to substiute the CS 233 and CS 341 requirements. The 2 technical electives must be distinct from courses used to satisfy other major requirements and can replace Free Electives.
  5. MATH 225 may be substituted.
  6. Students who are more interested in systems building can substitute CS 427 for CS 361.
  7. Additional coursework, subject to College of Fine and Applied Arts restrictions free electives, so that there are at least 120 credit hours earned toward the degree.

The code used to present this flowsheet is based on original work shared by the University at Buffalo School of Engineering and Applied Sciences.