Academics

The online Bachelor of Science in Applied Computer Science Post-Baccalaureate degree offers academically rigorous and career-relevant courses taught by CU Boulder’s world-class Engineering faculty. Many courses within the Applied Computer Science Post-Baccalaureate program are equivalent to courses offered in the on-campus computer science program. The Applied Computer Science Post-Baccalaureate program is accredited by the Higher Learning Commission.

The program aims to produce students who are able to:

  • learn the strong foundational material that distinguishes professionals and lets them keep up with emerging technologies,
  • develop software engineering skills using modern tools and a variety of programming languages,
  • learn the tools and modern methods of collaboration (Agile, Scum, and test driven development),
  • learn the algorithms and mathematics that underlie Computer Science, Data Science, Artificial Intelligence and Machine Learning,
  • analyze and visualize data while understanding the cognitive processes of decision making, and
  • analyze and create databases and automate analysis using data mining and data science algorithms.

Earn a degree in computer science quickly.

We understand the decision to go back to school isn’t an easy one, which is why our program is structured in a flexible way so you can customize your workload each semester depending on your schedule and needs. You have the flexibility to start any term—fall, spring or summer — and you can study from anywhere in the world.

The program consists of 45 credit hours of computer science courses. We offer several pathways to complete those credits, including a 3-year plan, a 2-year plan and an accelerated plan to earn the degree in under 2 years. We recommend that working adults follow the 2- or 3-year degree plan.

Courses

Our online students follow the same rigorous curriculum as on-campus students, with coursework that focuses on the fundamentals of computer science, software development and programming languages before delving into advanced topics in mathematics, cybersecurity, artificial intelligence and data management.  

You must complete a minimum of 45 credit hours of Applied Computer Science courses to graduate, but you can tailor some of your coursework to suit your individual goals or interests. The 45 credit hours consist of 26 credit hours of required courses and 19 credit hours of your choosing from our elective course options.

Required Courses (26 credits)

These course descriptions are only applicable for the Computer Science Post-Baccalaureate program. Students must always refer to the course syllabus for the most up-to-date information. 

The course covers techniques for writing computer programs in high-level programming languages to solve problems of interest in a range of application domains. This class is intended for students with little to no experience with programming.

  • Prerequisites: Minimum program admission requirements.
  • Minimum Passing Grade: C-

Studies data abstractions (e.g., stacks, queues, lists, trees) and their representation techniques (e.g., linking, arrays). Introduces concepts used in algorithm design and analysis including criteria for selecting data structures to fit their applications.

Topics include data and program representations, computer organization effect on performance and mechanisms used for program isolation and memory management.

  • Prerequisites: CSPB or CSCI 1300 Computer Science 1: Starting Computing with minimum grade C-. This course assumes students have a basic understanding of the C or C++ programming language including an introduction to the use of pointers as well as the ability to develop 50-200 line programs.
  • Minimum Passing Grade: C-

Covers how programs are represented and executed by modern computers, including low-level machine representations of programs and data, an understanding of how computer components and the memory hierarchy influence performance.

Topics include data and program representations, computer organization effect on performance and mechanisms used for program isolation and memory management.  

  • Prerequisites: CSPB or CSCI 2270 Data Structures with minimum grade C-. This course requires a basic understanding of the C or C++ programming language including the user of pointers.
  • Minimum Passing Grade: C-

The course covers fundamental ideas from discrete mathematics, especially for computer science students. It focuses on topics that will be foundational for future courses including algorithms, artificial intelligence, programming languages, theoretical computer science, computer systems, cryptography, networks, computer/network security, databases and compilers.

  • Co-requisites: CSPB or CSCI 1300 - Computer Science 1: Starting Computing, or understanding of Python basics.
  • Minimum Passing Grade: C-

Covers the fundamentals of algorithms and various algorithmic strategies, including time and space complexity, sorting algorithms, recurrence relations, divide and conquer algorithms, greedy algorithms, dynamic programming, linear programming, graph algorithms, problems in P and NP and approximation algorithms.

  • Prerequisites: CSPB or CSCI 2270 - Computer Science 2: Data Structures with minimum grade C- and CSPB or CSCI 2824 - Discrete Structures with minimum grade C-.
  • Minimum Passing Grade: C-

Study fundamental concepts on which programming of languages are based, and execution models supporting them. Topics include values, variables, bindings, type systems, control structures, exceptions, concurrency and modularity. Learn how to select a language and to adapt to a new language.

  • Prerequisites: CSPB or CSCI 2270 - Computer Science 2: Data Structures and CSCI 2824 - Discrete Structures, both with minimum grade C-.
  • Minimum Passing Grade: C-

Covers tools and practices for software development with a strong focus on best practices used in industry and professional development, such as agile methodologies, pair-programming and test-driven design. Students develop web services and applications while learning these methods and tools.

  • Prerequisites: CSPB or CSCI 2270 - Computer Science 2: Data Structures with minimum grade C-.
  • Minimum Passing Grade: C-

Elective Courses (19 credits)

Choose the elective courses you would like to take to fulfill the required 19 credits to complete the degree.  

Supports students in developing professional skills and practices in computing, including: preparing for technical and behavioral interviews, professional networking, mastering new technologies not addressed in the curriculum, presenting work, the role of graduate study, and exploring career and research directions.

  • Prerequisites: Requires prerequisite course of CSPB 2270 or CSCI 2270 or CSCI 2275
  • Minimum Passing Grade: C-

Introduces the fundamentals of linear algebra in the context of computer science applications. Includes vector spaces, matrices, linear systems and eigenvalues. Includes the basics of floating point computation and numerical linear algebra.

  • Prerequisites: CSPB or CSCI 2824 Discrete Structures with a minimum passing grade of C-
  • Minimum Passing Grade: C-

Introduces students to the tools methods and theory behind extracting insights from data. Covers algorithms of cleaning and munging data, probability theory and common distributions, statistical simulation, drawing inferences from data and basic statistical modeling.

  • Prerequisites: CSPB or CSCI 1300 Computer Science 1: Starting Computing with minimum grade C-.
  • Minimum Passing Grade: C-

Surveys artificial intelligence techniques of search, knowledge representation and reasoning, probabilistic inference, machine learning and natural language.

  • Prerequisites: Prerequisite of CSPB/CSCI 2270, CSPB/CSCI 2824, and CSPB/CSCI 3022, all with minimum grade C-.
  • Minimum Passing Grade: C-

Analyzes design of data systems, including data stored in file systems, database management systems and physical data organizations. Studies calculus of data models, query languages, concurrency and data privacy and security.

  • Prerequisites: CSPB or CSCI 2270 Computer Science 2: Data Structures with minimum grade C-.
  • Minimum Passing Grade: C-

This course serves as an introduction to Cognitive Science, the study of the mind, as an interdisciplinary field with roots in Computer Science along with Psychology, Education and a variety of other fields. Our survey of this area centers on how these ideas of mind both inform and are influenced by computer science ideas.

  • Prerequisites: Minimum program admission requirements.
  • Minimum Passing Grade: C-

Examines the structure and function of operating systems as an intermediary between applications and computer hardware.

Topics include OS design goals, hardware management, multitasking, process and thread abstractions, file and memory management, security and networking. Upon completion, students should be able to perform operating systems functions at the support level in a single-user environment.  

Microcontrollers are ubiquitous in the modern world, in everything from your toaster, microwave and refrigerator, to the complex and sophisticated systems in satellites and self-driving vehicles. We have augmented our Operating Systems course to use a Raspberry Pi in hands-on assignments such as adding systems calls to the Linux operating system running on the Raspberry Pi. The goal is for you to learn to apply the theory of operating systems and gain experience physically working with and changing a real working computer.

  • Prerequisites: CSPB or CSCI 2270 Data Structures, CSPB 2400 and CSPB or CSCI 2824 Discrete Structures (all minimum grade C-). Need to be able to write code in ‘C’ for inclusion in the operating system.
  • Recommended Prerequisites: CSPB or CSCI 3308 Software Development Methods and Tools
  • Minimum Passing Grade: C-

Explore the groundbreaking technologies that have revolutionized how computers understand and generate human language, providing you with the knowledge to build cutting-edge applications in areas like translation, text generation, and question answering.

  • Prerequisites: Requires prerequisite courses of CSPB 1300, CSPB 2824, and CSPB 2270.
  • Minimum Passing Grade: C-

Studies interactive visualization techniques that help people analyze data. This course introduces design, development and validation approaches for interactive visualizations with applications in various domains, including the analysis of text collections, software visualization, network analytics and the biomedical sciences. It covers underlying principles, provides an overview of existing techniques and teaches the background necessary to design innovative visualizations.

  • Prerequisites: CSPB or CSCI 1300 Computer Science 1: Starting Computing and CSPB or CSCI 2824 Discrete Structures with minimum grade C-.
  • Minimum Passing Grade: C-

Introduces basic data mining concepts and techniques for discovering interesting patterns hidden in large-scale data sets, focusing on issues relating to effectiveness and efficiency. Topics covered include data preprocessing, data warehouse, association, classification, clustering and mining specific data types such as time-series, social networks, multimedia and Web data.

  • Prerequisites: CSPB or CSCI 2270 Computer Science 2: Data Structures or CSPB or CSCI 2275 Programming and Data Structures
  • Minimum Passing Grade: C-

Introduces students to tools, methods, and theory to construct predictive and inferential models that learn from data. Focuses on supervised machine learning technique including practical and theoretical understanding of the most widely used algorithms (decision trees, support vector machines, ensemble methods, and neural networks). Emphasizes both efficient implementation of algorithms and understanding of mathematical foundations.

  • Prerequisites: Requires prerequisite courses of CSPB 2270 or CSCI 2270, CSPB 2824 or CSCI 2824, CSPB 2820 or CSCI 2820, and CSPB 3022 and CSCI 3022.
  • Minimum Passing Grade: C-

Visit the University Catalog for a complete summary of the program as well as its requirements, course descriptions and learning outcomes.

Course Considerations

Per university policy, Applied Computer Science students are prohibited from taking on-campus courses and/or dual majoring.  

Core courses must be passed with a C- or better. Elective courses must be passed with a grade of a D- unless serving as a prerequisite, in which case a C- or better will be required. Students must maintain an overall GPA of 2.0 or higher.

Please note that courses will require a computer that meets the Applied Computer Science program’s minimum computer standards.

Course Pathways

Our program offers different course pathways that allow you to gain specialized knowledge and skills to achieve specific learning or career goals whether you are on the path to completing your degree or are a non-degree student with discrete educational objectives.

Full course descriptions are provided above.

Pathway to an Introduction to Computer Science


This introductory pathway is ideal if you seek a comprehensive foundation in both computational thinking and key interdisciplinary areas. 

Courses

Computer Science 1: Starting Computing
Get an introduction to fundamental programming concepts and problem-solving strategies, offering a solid entry point into the field of computer science. 

Discrete Structures
Deepen your understanding of essential mathematical principles, such as logic and combinatorics, which underpin many areas of computer science. 

Cognitive Science
Explore the intersection of computing and human cognition, which will give you insight into how computers can simulate thought processes. 

Information Visualization 
Gain skills to visually represent complex data, a critical skill for communicating technical information effectively. 

Pathway to Internship
 


This pathway gives you foundational skills and practical knowledge necessary to be competitive for internships in the technology industry.

Courses

Computer Science 1: Starting Computing
Focus on building a strong computational foundation by learning the basics of programming and problem-solving.

Computer Science 2: Data Structures
Deepens your knowledge with essential data structures, enabling efficient algorithmic thinking. 

Computer Systems
Get an introduction to the underlying hardware and low-level processes that support software applications, providing a comprehensive understanding of system-level design. 

Software Development Methods and Tools
Learn best practices in software engineering, including version control, testing, and project management, preparing students for collaborative, real-world development environments.

Pathway to Graduate School in Computer Science


This pathway will prepare you to pursue advanced academic studies in computer science by providing the theoretical and practical foundation needed for success in graduate programs.

Courses:

Discrete Structures
Get an introduction to the mathematical principles underpinning computer science, such as logic, set theory, and combinatorics, which are crucial for understanding advanced concepts.

Computer Science 2: Data Structures
Build on knowledge gained in Discrete Structures course by learning how to efficiently manage and manipulate data, a core skill for graduate-level research.

Computer Systems
Gain an understanding of how hardware and software interact, bridging the gap between low-level systems and high-level computing processes.

Design & Analysis of Algorithms
Learn advanced algorithmic techniques and problem-solving strategies, which will prepare you for the rigorous analytical and research demands of graduate school.

Pathway to Data Science Skills


This pathway gives you foundational knowledge in data science and provides analytical and computational challenges in case you are interested in advanced studies in data science.

Courses

Discrete Structures
Gain foundational knowledge by working with fundamental mathematical concepts like logic and combinatorics, essential for algorithm design and data analysis.

Linear Algebra
Learn the mathematical tools necessary to work with large datasets, vectors, and matrices, which are critical for machine learning and statistical modeling.

Introduction to Data Science with Probability and Statistics
Learn core statistical methods and probability theory, which form the basis for data-driven decision-making and predictive analytics.

Data Mining
Learn how to extract valuable insights from large datasets using sophisticated techniques, setting them up for success in the research-heavy environment of data science graduate programs.

Pathway to Artificial Intelligence Skills


This pathway gives you foundational knowledge and specialized skills necessary for research, development and practical applications or further study in Artificial Intelligence.

Courses

Introduction to Artificial Intelligence
Gain a broad overview of AI concepts, from problem-solving techniques to knowledge representation and search algorithms.

Natural Language Processing
Explore the groundbreaking technologies that have revolutionized how computers understand and generate human language, providing you with the knowledge to build cutting-edge applications in areas like translation, text generation, and question answering.

Machine Learning
Study how machines can learn from data, which will give you tools and methods for building models and making predictions.

Cognitive Science
Learn how AI bridges with human cognition, offering insights into how humans think and learn, which can inform the design of more intuitive and human-like AI systems.

These sample pathways illustrate just some of the ways our Computer Science classes can help you meet your goals. We encourage you to talk with an academic advisor about your specific goals so that they can recommend the coursework that can help you along your educational journey. Pathways can be customized to meet individual student needs.

Non-degree Option

If you are interested in trying out the program, or simply taking a few classes to expand your knowledge base, you can enroll in our courses as a non-degree student. Learn more about what it means to be a non-degree student and how to apply and enroll in classes.

If you choose to enroll in the degree program at a later date, the standalone courses may transfer and be applied to your degree. Learn more about transferring credits.