Home Schedule

CS 110 - Imperative Problem Solving - Spring 2022


Date
Day
Topic
Resources
Assignment
Due
08/24 W Introduction
  • Environment Setup
  • 08/26 F Development Environment
  • Hello World
  • 08/29 M C Intro
  • Book Chapters 1 and 2
  • Code Examples
  • Slides
  • Fix Programs
  • Hello World
  • 08/31 W Data Types and Calculations
  • Book Chapter 3
  • Slides
  • Code Examples
  • Calculations
  • Quiz 1 (Chapters 1 & 2)
  • 09/02 F Loops
  • Book Chapter 4
  • Code Example
  • Slides
  • Loops Exercises
  • Quiz 2 (Chapter 3)
  • Fix Programs

  • 09/05 M Nested Loops and Conditionals
  • Book Chapter 5
  • Slides
  • Code Examples
  • Nested Loops Exercise
  • Quiz 3 (Loops) Calculations
  • 09/07 W Arrays in C
  • Book Chapter 6 (You may stop when you reach the "Character Arrays" section)
  • Slides
  • Code Example
  • Array Exercises
  • Quiz 4
  • Loops
  • 09/09 F Functions
  • Book Chapter 7 (You may stop when you reach the "Functions and Arrays" section)
  • Code Example
  • Slides
  • Paycheck Program
  • Nested Loops
    09/12 M Arrays and Functions
  • Book Chapter 7 Section "Functions and Arrays"
  • Slides
  • Code Example
  • Array Functions
  • Array Exercises
  • Paycheck Program

  • Quiz 5
  • Quiz 6
  • 09/14 W Modules and Makefiles
  • Book Chapter 14 Section "Dividing Your Program into Multiple Files" and subsection "The make Utility" ONLY
  • In-class Guided Activity Instructions
  • In-class Guided Activity Files
  • Code Example
  • Array Functions
  • Quiz 7
  • 09/16 F Preprocessor and Include Guards
  • Book Chapter 12 until subsection "Program Portability" and then jump to section "The #include statement". You can ignore the mentions of strings and pointers for now.
  • Slides
  • Starter Code
  • Complete Code Example
  • Stats Module
  • Fibonacci Exercise
  • Quiz 8
  • 09/19 M Code Style
  • Code Example
  • Slides
  • Stats Module
  • 09/21 W Review Day 1
  • Exam Topics
  • Practice Problems
  • Quiz 9
  • Fibonacci
  • 09/23 F Review Day 2
  • Quiz 10

  • Hello World - Array Functions
  • 09/26 M Exam 1
  • Moodle Exam will be in-class, in-person.
  • Git-keeper exam will be available throughout September 26
  • 09/28 W Software Development Principles
  • Slides
  • 09/30 F Structures
  • Slides
  • Code Example
  • Structures
  • 10/03 M Arrays of Structures
  • Book Chapter 8 only section "Arrays of Structures"
  • Slides
  • Code Example
  • Best Pizza Value
  • Structures
  • Quiz 11: Structures
  • 10/05 W Strings
  • Book Chapter 9, stop when you get to Program 9.7 "Counting Words"
  • Slides
  • Code Example
  • Reverse String
  • 10/07 F Standard Input
  • Book Chapter 15, skim or skip the section on printf() and scanf(), and stop when you get to "Input and Output Operations on Files""
  • Slides
  • Code Example
  • Letter Frequency
  • Best Pizza Value
  • Quiz 12
  • 10/17 M Pointers
  • Book Chapter 10, only sections "Pointers and Indirection", "Defining a Pointer Variable", "Using Pointers in Expressions", and "Pointers and Functions"
  • Lecture Slides
  • Code Example
  • Pointer Parameters
  • Quiz 13
  • Quiz 14
  • Assignment: Reverse String
  • 10/19 W Pointers and Structures
  • Book Chapter 10 section "Working with Pointers and Structures", stopping when you get to the "Linked List" subsection
  • Slides
  • Code Example
  • Pointers to Structs
  • Quiz 15
  • Assignment: Letter Frequency
  • Extended Deadline: Reverse String
  • 10/21 F Command Line Arguments
  • Book Chapter 10 section "Pointers and Arrays" and Chapter 16, section "Command-line Arguments". There is an example in this section that deals with files in a way that we have not talked about yet, do not worry about that for now.
  • Slides
  • Code Example
  • Character Count
  • Quiz 16
  • Assignment: Pointer Parameters
  • 10/24 M Random Numbers
  • Lecture Slides
  • Code Example
  • Roll Dice Project
  • Quiz 17: Pointers, Arrays and Command-line Arguments
  • 10/26 W Scope and The Call Stack
  • Lecture Slides
  • Code Example
  • Quiz 18: Random Numbers
  • Pointers to Structs
  • Character Count
  • 10/28 F Dynamic Memory Allocation
  • Book Chapter 16, section "Dynamic Memory Allocation". Note that the book explicitly casts the return value of malloc() and calloc() to the appropriate pointer type, while my code does not. Older versions of C required explicit casting, but newer versions do not.
  • Code Example
  • Slides
  • Heap Allocate Assignment
  • 10/31 M Resizing Arrays
  • Slides
  • Code Example
  • Resizing Arrays
  • 11/02 W Exam 2 Coding Review and Work Day
  • Exam Topic
  • Exam 2 Practice Problems
  • Code Example
  • Roll Dice
  • Heap Allocate
  • 11/04 F Review
    11/07 M EXAM
    11/09 W NO CLASS! NO OFFICE HOURS
    11/11 F Files
  • Book Chapter 15, section "Special Functions for Working with Files"
  • Slides
  • Code Examples
  • Integer File Sum
  • Resizing Arrays
  • 11/14 M Recursion
  • Code Example
  • Slides
  • Recursion
  • 11/16 W
  • Tail-Recursive Fibonacci
  • Exam 2 Discussion
  • Code Example
  • Slides
  • Integer File Sum
  • Quiz 19: Files
  • 11/18 F Searching
  • Slides
  • Binary Search
  • Recursion
  • 11/21 M Online Problem Solving Session (Optional) Join
    NO OFFICE HOURS ON MONDAY AND TUESDAY
    11/23 W Thanksgiving Break!
    11/25 F Thanksgiving Break!
    11/28 M Data Structure Intro - Dynamic Array Stack
  • Code Example
  • Slides
  • Binary Search
  • 11/30 W Sorting
  • Slides
  • Code Example
  • 12/02 F NO CLASS - Work on Pending Assignments
    12/05 M Final Exam Review
  • Final Exam Topics
  • Final Exam Practice Problems
  • Final Exam Practice Solutions(Updated)
  • 12/07 W Final Exam Review Quiz
    12/09 F NO CLASS