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 methods needed to work in groups,
  • 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.

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 can enjoy a unique, practical learning experience with engaging lectures and online class discussions from wherever you are.

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-
  • Textbook: This course uses an interactive online free textbook, How To Think Like a Computer Scientist, which is embedded in the course lessons.

Learn More

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-
  • Textbook: There is no required physical textbook for this course at this time. However, the instructor may refer students to additional materials. 

Learn More

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-
  • Textbook: Computer Systems: A Programmer's Perspective, 3rd Edition, by David O’Halloran and Randall Bryant (domestic, international or online edition)

Learn More

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-
  • Textbook: Discrete Mathematics and Its Applications, 7th Edition, Rosen, McGraw Hill, ISBN 978-0-07-338309-5.

Learn More

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-
  • Textbook: Introduction to Algorithms, 3rd Edition (The MIT Press) 3rd Edition, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. A supplemental textbook is also recommended, Grokking Algorithms: An illustrated guide for programmers and other curious people, 1st Edition by Aditya Bhargava.

Learn More

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-
  • Textbook: This course uses an interactive online textbook, Programming in Scala, 3rd Edition, available for free online through the university library. There are also additional readings embedded into the course lessons. 

Learn More

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-
  • Textbook: Practical Software Development Techniques, 4th Edition, by Edward Crookshanks, 2013, available for free online through the university library 

Learn More

Elective Courses (19 credits)

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-
  • Textbook: Introduction to Applied Linear Algebra, Boyd & Vandenberghe

Learn More

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-
  • Textbook: A Modern Introduction to Probability and Statistics by Dekking et al. & Introduction to Statistical Learning with Applications in R by Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani

Learn More

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-
  • No required textbook

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-
  • Textbook: Artificial Intelligence: A Modern Approach, 3rd Edition by Peter Norvig and Stuart J. Russell

Learn More

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-
  • Textbook: Database Systems: The Complete Book, 2nd Edition by Garcia-Molina, H., Ullman, J. D., and Widom, J. (domestic, or international edition)

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-
  • Textbook: None. Articles, chapters and webpage readings are distributed week-to-week.

Learn More

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-
  • Textbook: Operating System Concepts, 10th Edition, by Abraham Silberschatz, Peter Galvin, Greg Gagne (electronic or hardcover) 

Learn More

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-
  • Textbook: Visualization Analysis and Design (AK Peters Visualization Series), by Tamara Munzner, CRC Press, 2014

Learn More

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-
  • Textbook: Data Mining: Concepts and Techniques, 3rd Edition, by Jiawei Han, Micheline Kamber, Jian Pei; Morgan Kaufmann, 2011

Learn More

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

You can tailor your degree timeline to suit your needs, but you must complete a minimum of 45 credit hours of Applied Computer Science courses to graduate. All general education coursework will be satisfied by your prior bachelor’s degree. The 45 credit hours consist of 26 credit hours of required courses and 19 credit hours of elective courses. The current elective classes emphasize data analysis, including the methods and mechanisms used to process big data, artificial intelligence and machine learning as well as cyber security.

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

Effective in Spring 2023, 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 a 2.0 or higher.

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

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.

Flexible Pathways to Complete Your Degree

Below are sample pathways to completion. Upon committing to the program, you will meet with an academic advisor to find a pathway that works best for you and your schedule.

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.