Boston CollegeWebsiteAcademic Catalog
Computer ScienceDepartment Website
BA Degree in Computer Sciencesource 1source 2source 3
CS Courses
- Computer Science ICSCI1101 (3)introCSCI1101: Computer Science I
This course is an introduction to the art and science of computer programming and to some of the fundamental concepts of computer science. Students will write programs in the Python programming language. Good program design methodology will be stressed throughout. There will also be a study of some of the basic notions of computer science, including computer systems organization, files and some algorithms of fundamental importance.
- Computer Science IICSCI1102 (3)introCSCI1102: Computer Science II
In this course, the student will write programs that employ more sophisticated and efficient means of representing and manipulating information. Part of the course is devoted to a continued study of programming. The principal emphasis, however, is on the study of the fundamental data structures of computer science (lists, stacks, queues, trees, etc.). Both their abstract properties and their implementations in computer programs and the study of the fundamental algorithms for manipulating these structures. Students will use Java for programming.
- Logic and ComputationCSCI2243 (3)mathCSCI2243: Logic and Computation
A course in the mathematical foundations of Computer Science, illustrated throughout with applications such as sets and functions, propositional and predicate logic, induction and recursion, basic number theory, and mathematical models of computation such as formal languages, finite state machines, and Turing machines.
- Randomness and ComputationCSCI2244 (3)mathCSCI2244: Randomness and Computation
This course presents the mathematical and computational tools needed to solve problems that involve randomness. For example, an understanding of random variables allows us to efficiently generate the enormous prime numbers needed for information security, and to quantify the expected performance of a machine learning algorithm beyond a small data sample. An understanding of covariance allows high quality compression of audio and video. Topics include combinatorics and counting, random experiments and probability, random variables and distributions, computational modeling of randomness, Bayes' rule, laws of large numbers, vectors and matrices, covariance and principal axes, and Markov chains.
- Computer SystemsCSCI2271 (3)sysCSCI2271: Computer Systems
This course is about how computing machines implement the human-friendly abstractions we express in our programs. It reveals the internal representations of data and instructions, as well as the management of data storage in memory, the coordination of processes, and the interactions between operating systems and the programs being executed. Computer Systems explores system behavior and operations in considerable detail. This greater detail is essential for optimizing program performance, for working within the finite memory and word size constraints of computers, for effective debugging, and for systems-level programming. This hands-on course introduces you to the C programming language and techniques of systems programming through extensive coding exercises
- Computer Organization and LabCSCI2272 (4)sysCSCI2272: Computer Organization and Lab
This course studies the internal organization of computers and the processing of machine instructions. Topics include computer representation of numbers, combinational circuit design (decoders, multiplexers), sequential circuit design and analysis, memory design (registers and main memory), and simple processors including datapaths, instruction formats, and control units. In the laboratory-based portion of course students design and build digital circuits related to lecture. Exercises include hardware description languages, combinational and sequential circuits, arithmetic and logic units, and simple datapath and control units.
- AlgorithmsCSCI3383 (3)algsCSCI3383: Algorithms
This course is a study of algorithms for, among other things, sorting, searching, pattern matching, and manipulation of graphs and trees. Emphasis is placed on the mathematical analysis of the time and memory requirements of such algorithms and on general techniques for improving their performance.
Math/Stat Courses
- Calculus I for Math and Science MajorsMATH1102 (4)mathMATH1102: Calculus I for Math and Science Majors
MATH 1102 is a first course in the calculus of one variable intended for Chemistry, Computer Science, Geology/Geophysics, Mathematics, and Physics majors. It is open to others who are qualified and desire a more rigorous calculus course than MATH 1100. Topics covered include the algebraic and analytic properties of the real number system, functions, limits, derivatives, and an introduction to integration.
- Linear AlgebraMATH2210 (3)mathMATH2210: Linear Algebra
This course is an introduction to the techniques of linear algebra in Euclidean space. Topics covered include matrices, determinants, systems of linear equations, vectors in n-dimensional space, complex numbers, and eigenvalues. The course is required of mathematics majors and minors, but is also suitable for students in the social sciences, natural sciences, and management.
Science Courses
Other Courses
- 10 × Free Elective
History of the Major
2024 | Add MATH 2210 (Linear Algebra). |
2023 | |
2022 | |
2021 | |
2020 | |
2019 | |
2018 | |
2017 |