Computer Science

College of Arts & Sciences

Students taking CAS Computer Science courses are expected to have a laptop that is capable of effectively running a currently supported version of Microsoft Windows, Mac OS X, or Linux. Students must bring their laptop with them to the classroom.
  • Introduction to Internet Technologies and Web Programming

    CAS CS 103

    Introduction to the basic architecture and protocols underlying the operation of the Internet with an emphasis on web design, web application programming, and algorithmic thinking. General familiarity with the Internet is assumed. Carries MCS divisional credit in CAS. Effective Fall 2022, this course fulfills a single unit in each of the following BU Hub areas: Digital/Multimedia Expression, Quantitative Reasoning II, Creativity/Innovation. 4 cr. Tuition: $3260

    Summer 1 (May 20-June 27)

    Top

  • Introduction to Computer Science 1

    CAS CS 111

    Online offering. This course is a rigorous introduction to programming for students intending to major or minor in Computer Science, Data Science, and related disciplines. The course introduces numeric, string, and list data, functions, decisions, recursion, iteration, and object- orientation. Applications include matrix operations, image manipulation, games, rules-based and generative artificial intelligence, and searching. Learning to program is a skill that can only be learned through practice -- it cannot be acquired from merely watching a series of lectures. Rather, students will learn through a combination of short readings; mini-lecture videos; interactive examples; and complex problem sets. Students must actively engage with these examples and problem sets to develop both the muscle memory of programming as well as a mental model of how programs execute and interact with data. Students will learn new concepts independently and attend regular workshop sessions to develop debugging skills and to obtain assistance with problem sets. The structure of the online class demands that students be intrinsically motivated to acquire programming skills, so that they will be motivated to keep up with a demanding schedule of learning activities and problem sets. To be successful in this course, students must be prepared to dedicate approximately 25-30 hours per week to the learning objectives. Students must have a Mac or Windows computer on which they can install the required software for the course. Carries MCS divisional credit in CAS. Effective Fall 2018, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking. 4 cr. Tuition: $3260

    Summer 1 (May 13-June 27)

    Summer 2 (June 30-August 15)

    CAS CS 111 Online: Introduction to Computer Science 1

    Students must register for a LEC and a LAB. Instructor Permission Required.

    CS111 is a rigorous programming class, in which each topic/problem set builds upon the previous ones. Due to the intense Summer Term schedule, it is not possible to catch up from missing any topic or problem set.

    Students must plan for 25-30 hours of work per week. There are 2 problem set workshops per week, and students need to dedicate 5-8 hours of active preparation before each workshop. It is not possible to do the problem sets without adequate preparation.

    There is zero tolerance for use of Chat GPT or other AI tools to solve problem sets, quizzes, and exams. Students suspected of using these tools will be subject to oral examination by the instructor, and students unable to explain their work or solve similar problems will receive an automatic grade of F in the course. Students who refuse an oral exam will receive an F in the course.

    Students wishing to take the course must email Prof. Aaron Stevens azs@bu.edu to seek approval. If he approves, he will help facilitate your registration through the Summer Term office.

    SUM 1 Schedule
    Lecture: O1
    Lab Workshops meet Tuesday and Friday
    W1 – 10am-12pm
    W3 - 12pm-2pm
    W5 - 3pm-5pm
    W7 - 6pm-8pm
    W9 - 8pm-10pm

    SUM 2 Schedule
    Lecture: O2
    Lab Workshops meet Tuesday and Friday
    W2 – 10am-12pm
    W4 - 12pm-2pm
    W6 - 8pm-10pm

    BU Financial Aid: Summer Term HUB Courses

    Financial aid may be available to BU need-based scholarship recipients for certain HUB courses in summer 2025, including this one. For more information, please contact BU Financial Assistance at 617-353-2965 or finaid@bu.edu. Check out Summer 2025 HUB Course Scholarship eligibility requirements to see if you qualify.

    For information about technology requirements for online courses at Boston University, see bu.edu/online/online-learning/technology. BU Virtual can be reached at buvirtual@bu.edu or 617-358-1960 for additional information.

    Top

  • Introduction to Computer Science 2

    CAS CS 112

    Undergraduate Prerequisites : (CAS CS 111) or equivalent. Covers advanced programming techniques and data structures. Topics include recursion, algorithm analysis, linked lists, stacks, queues, trees, graphs, tables, searching, and sorting. Students must register for two sections: lecture and laboratory. Carries MCS divisional credit in CAS. Effective Fall 2018, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking. 4 cr. Tuition: $3260

    Summer 1 (May 20-June 27)

    Top

  • Combinatoric Structures

    CAS CS 131

    Representation, analysis, techniques, and principles for manipulation of basic combinatoric structures used in computer science. Rigorous reasoning is emphasized. Effective Fall 2019, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Critical Thinking. 4 cr. Tuition: $3260

    Summer 1 (May 13-June 27)

    Summer 2 (June 30-August 15)

    BU Financial Aid: Summer Term HUB Courses

    Financial aid may be available to BU need-based scholarship recipients for certain HUB courses in summer 2025, including this one. For more information, please contact BU Financial Assistance at 617-353-2965 or finaid@bu.edu. Check out Summer 2025 HUB Course Scholarship eligibility requirements to see if you qualify.

    For information about technology requirements for online courses at Boston University, see bu.edu/online/online-learning/technology. BU Virtual can be reached at buvirtual@bu.edu or 617-358-1960 for additional information.

    Top

  • Probability in Computing

    CAS CS 237

    Undergraduate Prerequisites: (CAS CS 131). Introduction to basic probabilistic concepts and methods used in computer science. Develops an understanding of the crucial role played by randomness in computing, both as a powerful tool and as a challenge to confront and analyze. Emphasis on rigorous reasoning, analysis, and algorithmic thinking. Students must register for two sections: lecture and laboratory. Effective Fall 2018, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Critical Thinking. 4 cr. Tuition: $3260

    Summer 1 (May 20-June 27)

    Top

  • Topics in Computer Science: CAS CS 391

    Section A1 - Topic: Algorithms to Live By The course will be based on the algorithmic principles described in the popular science book “Algorithms to Live By: The Computer Science of Human Decisions” by Brian Christian and Tom Griffiths. We will cover concepts such as (1) optimal stopping (2) Explore vs. Exploit (3) Sorting and Searching (4) Caching and Memory (5) Game theory and Decision making (6) Handling overwhelm and staying sane. We will discuss the main algorithmic techniques and results related to these concepts and how we can apply them to everyday life.

    Section A3- Topic: Competitive Programming Modern Compiler Construction in Python is a course that introduces students to some basics in the design and implementation of compilers. In this course, we teach the theory behind various components of a compiler as well as the programming techniques involved to put the theory into practice. In particular, we adopt a style of modern compiler construction that builds a compiler by stringing a sequence of translations sharing a common closure-based interpreter-like structure. The chosen programming language for implementation is Python 3. However, you can seek the instructor's approval to choose a functional programming language as your implementation language if you so wish.

    Topics in Computer Science

    CAS CS 391

    Topic for summer 2025: Algorithms to Live By. The course will be based on the algorithmic principles described in the popular science book “Algorithms to Live By: The Computer Science of Human Decisions” by Brian Christian and Tom Griffiths. We will cover concepts such as (1) optimal stopping (2) Explore vs. Exploit (3) Sorting and Searching (4) Caching and Memory (5) Game theory and Decision making (6) Handling overwhelm and staying sane. We will discuss the main algorithmic techniques and results related to these concepts and how we can apply them to everyday life. 4 cr. Tuition: $3260

    Summer 1 (May 20-June 27)

    Top

  • Topics in Computer Science

    CAS CS 391

    Topic for summer 2025: Competitive Programming. Modern Compiler Construction in Python is a course that introduces students to some basics in the design and implementation of compilers. In this course, we teach the theory behind various components of a compiler as well as the programming techniques involved to put the theory into practice. In particular, we adopt a style of modern compiler construction that builds a compiler by stringing a sequence of translations sharing a common closure-based interpreter-like structure. The chosen programming language for implementation is Python 3. However, you can seek the instructor's approval to choose a functional programming language as your implementation language if you so wish. 4 cr. Tuition: $3260

    Summer 1 (May 20-June 27)

    Top

  • Topics in Computer Science: CAS CS 392

    Section A1 - Topic: Algorithms for Competitive Programming Algorithms for Competitive Programming. Prerequisites: CS112 and CS131. Strong performance in CS 112 and CS 131 is expected. An assessment test might be administered in the first week to provide feedback on readiness to take this class. This course covers essential algorithms necessary to compete in the ACM International Collegiate Programming Contest (ICPC) and similar contests. Active involvement in weekly contests is a mandatory component of the course. Topics covered include standard library classes and data structures, competitive programming contest strategies, string manipulation, divide and conquer, dynamic programming, graph algorithms, number theory, computational geometry, and combinatorics.

    Section B1 - Topic: Web Application Development. Web Application Development is a comprehensive course that equips students with practical skills to build dynamic and immersive web applications. Through hands-on exercises and projects, students learn to structure and style web pages using HTML and CSS, create interactive experiences with JavaScript, develop reusable components with React, interact with relational databases using decoupling tools such as ORM and DAO. Additionally, students explore the exciting world of Web-XR, enabling them to build virtual reality experiences with React-VR. By the end of the course, students have the necessary tools and knowledge to develop robust web applications with seamless integration of databases, interactive functionality, and immersive VR experiences. Students are expected to have basic knowledge of OOP principles, coding conventions, and I/O subsystems.

    Topics in Computer Science

    CAS CS 392

    Topic for summer 2025: Algorithms for Competitive Programming. Prerequisites: CS112 and CS131. Strong performance in CS 112 and CS 131 is expected. An assessment test might be administered in the first week to provide feedback on readiness to take this class. This course covers essential algorithms necessary to compete in the ACM International Collegiate Programming Contest (ICPC) and similar contests. Active involvement in weekly contests is a mandatory component of the course. Topics covered include standard library classes and data structures, competitive programming contest strategies, string manipulation, divide and conquer, dynamic programming, graph algorithms, number theory, computational geometry, and combinatorics. 4 cr. Tuition: $3260

    Summer 1 (May 20-June 27)

    Top

  • Topics in Computer Science

    CAS CS 392

    Topic for summer 2025: Web Application Development. Web Application Development is a comprehensive course that equips students with practical skills to build dynamic and immersive web applications. Through hands-on exercises and projects, students learn to structure and style web pages using HTML and CSS, create interactive experiences with JavaScript, develop reusable components with React, interact with relational databases using decoupling tools such as ORM and DAO. Additionally, students explore the exciting world of Web-XR, enabling them to build virtual reality experiences with React-VR. By the end of the course, students have the necessary tools and knowledge to develop robust web applications with seamless integration of databases, interactive functionality, and immersive VR experiences. Students are expected to have basic knowledge of OOP principles, coding conventions, and I/O subsystems. 4 cr. Tuition: $3260

    Summer 2 (June 30-August 8)

    Top

  • Full-Stack Application Design and Development

    CAS CS 412

    Undergraduate Prerequisites: (CASCS111 & CASCS112 & CASCS411) or consent of instructor. - Prereq: (CAS CS 111 & CAS CS 112 & CAS CS 411) or consent of instructor. Introduction to design and development of full-stack web applications. Topics include asynchronous programming; non-relational data stores; use of APIs; serverless (cloudbased) applications; decoupled client/server architectures; performance; testing; packaging; and deployment. Examines current and proposed technology stacks. 4 cr. Tuition: $3260

    Summer 1 (May 20-June 27)

    Top

College of Engineering

  • Introduction to Software Engineering

    ENG EC 327

    Undergraduate Prerequisites: (ENGEK125) - Introduction to software design, programming techniques, data structures, and software engineering principles. The course is structured bottom up, beginning with basic hardware followed by an understanding of machine language that controls the hardware and the assembly language that organizes that control. It proceeds through fundamental elements of functional programming languages, using C as the case example, and continues with the principles of object-oriented programming, as principally embodied in C but also its daughter languages Java, C#, and objective C. The course concludes with an introduction to elementary data structures and algorithmic analysis. Throughout, the course develops core competencies in software engineering, including programming style, optimization, debugging, compilation, and program management, utilizing a variety of Integrated Development Environments and operating systems. 4 cr. Tuition: $3260

    Summer 1 (May 20-June 27)

    Top

Metropolitan College

Questrom School of Business