CSE150

Course CSE150
Title Foundations of Computer Science - Honors
Credits 4
Course Coordinator

Michael Bender

Description

Introduction to the logical and mathematical foundations of computer science for computer science honors students. Topics include functions, relations, and sets; recursion and functional programming; basic logic; and mathematical induction and other proof techniques.

 

Bulletin Link

Prerequisite Prerequisite: one MAT course that satisfies D.E.C. C or QPS or score of level 4 on the math placement exam; admission to Honors in Computer Science or the Honors College or the WISE Honors Program or University Scholars or Simons STEM Scholars Program.
Course Outcomes
  • An ability to use logic and basic proof techniques, such as mathematical induction.
  • To understand recursion as a computing paradigm.
  • An ability to define and use discrete structures such as functions, graphs and tree.
Textbook

James L. Hein, Discrete Structures, Logic and Computability, Jones and Bartlett, 978-0763772062.
Supplementary Material: 
Eric Lehman and Tom Leighton, Mathematics for Computer Science, Online.

Major Topics Covered in Course
  • Propositional logic
  • Syntax and semantics (truth tables); logical equivalences and logical consequence; basic proof theory (e.g., modus ponens); boolean algebra; application: digital logic circuits; application: number systems
  • Functions
  • Basic concepts and standard functions; sequences; basic properties of functions; composition of functions
  • Recursion
  • Recursive definitions of functions and sequences; application: functional programming
  • Mathematical induction
  • Principle of mathematical induction; examples of induction proofs; strong induction principle
  • Lists and trees
  • Basic definitions and operations; for both data structures; specific examples of list operations and tree algorithms to illustrate functional programming and mathematical induction
Laboratory
Course Webpage

CSE150