One of the things I often tell prospective students is that computer science is not just about learning a programming language. Languages come and go. The deeper ideas behind computing tend to last much longer.

In the Applied Computer Science Post-Baccalaureate program, students I work with gradually build a foundation in the core concepts that make modern software systems possible. Along the way they develop practical programming skills, but they also learn how to reason about algorithms, data structures, and the design of larger systems. Those ideas show up again and again across different areas of computing.

Most students begin by learning how to think computationally. That means breaking problems into smaller pieces, designing clear procedures, and writing programs that express those procedures in a precise way. Early courses focus on programming and problem solving, but they also introduce ways of thinking that are central to computer science.

As students progress through the program, they encounter some of the core intellectual tools of the field. Data structures and algorithms, for example, provide ways to organize information and reason about efficiency. These ideas are important not only for writing fast programs but also for understanding how large software systems behave as they grow.

Students also gain experience with the practical side of software development. Courses in software development methods and tools emphasize version control, testing, debugging, and collaborative development. These are the kinds of practices that make it possible for teams of engineers to build and maintain complex systems over time.

Later courses explore more specialized areas of computing. Depending on their interests, students may encounter topics such as computer systems, data science, artificial intelligence, or natural language processing. These areas show how the core ideas of computer science can be applied to real problems, from analyzing large datasets to building systems that interact with human language.

One of the things I enjoy most about teaching in the program is watching how students begin to connect these ideas together. At first the courses may feel like separate pieces. Over time students start to see how programming, algorithms, systems, and data all fit into a larger picture of how computing works.

➡ Learn more about the program here:
CSPB Program Overview


Note: This page reflects my personal perspective as a faculty member teaching in the Applied Computer Science Post-Baccalaureate program at the University of Colorado Boulder. It is intended as an informal guide and does not represent official university program materials or policies.