Skip to Content

University of Colorado Boulder
Search

Search

Other ways to search:

  • Events Calendar
  • Campus Map
BS in Applied Computer Science
College of Engineering and Applied Science
BS in Applied Computer Science

Main menu

  • Home
  • Academics
  • Admissions
  • Cost
  • Careers
  • People
  • Nondegree Option

Secondary Menu

  • Request Information
  • Current Student Resources

Mobile menu

  • Home
  • Academics
  • Admissions
  • Cost
  • Careers
  • People
  • Nondegree Option
  • Request Information
  • Current Student Resources

CSPB 3155 - Principles of Programming Languages

Course Details

*Note: This course description is only applicable for the Computer Science Post-Baccalaureate program. Additionally, students must always refer to course syllabus for the most up to date information. 

  • Credits: 4.0 
  • 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. 

Brief Description of Course Content

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.

Specific Goals

Specific Outcomes of Instruction
  • Learn new programming languages quickly
  • Choose the language for a programming task
  • Write pure functional code
  • Write new languages or APIs with clear semantics
  • Read and write context-free grammars and parsers

Brief List of Topics to be Covered
  • Scala
  • Javascript
  • Program Semantics
  • Context-free grammars
  • Recursion and higher-order functions
  • Algebraic Data Types
  • Expression Trees
  • Type checking
  • Mutable State
  • Scope, bindings, and closures
  • Currying
  • Callbacks and Continuation-Passing Style

Mathematical Concepts Used

Regular Expressions, context-free grammars, proofs about program properties, recursion and induction.

 

Return to Course List

BS in Applied Computer Science

The Bachelor of Science in Applied Computer Science is awarded by the College of Engineering & Applied Science with some administrative support provided by the Division of Continuing Education.

  Contact Us
CSPBonline@colorado.edu
303-492-2518

University of Colorado Boulder

University of Colorado Boulder
© Regents of the University of Colorado
Privacy • Legal & Trademarks • Campus Map

Return to the top of the page