CSC 161 Grinnell College Fall–Term 1, 2020
 
CSC 161
 
Imperative Problem Solving and Data Structures
 


Notes:


Tentative Class Schedule


Monday Tuesday Wednesday Thursday Friday
August 31Unit 0: Getting started
  • Course Introduction
  • Approaches to Problem Solving
  • Course Policies, Format, Exectations
Reference Materials
Labs:
September 1 Unit 0: Getting started, Compiling
  • Simple C Programs
Reference Materials
September 2 Weekly Aside: Input
  • C input

Lab Due: Getting Started
September 3 Unit 0: Getting started
  • C Types
    • integers
    • floating-point numbers
    • characters
Reference Materials
September 4 Unit 1 Elements of C
  • Conditionals
Reference Materials
Labs:

»» In-classQuiz ««

 
September 7 Unit 1: Elements of C
  • Simple Loops
Reference Materials
September 8 Weekly Aside: Basic Program Organization/Management
  • Simple Functions/Procedures
  • Values as Parameters
  • Stepwise Program Development

Lab due: Lab on Conditionals in C (date deferred until Wednesday)
September 9 Unit 1: Elements of C
  • Nested Loops
Reference Materials

»» In-classQuiz ««

 
Lab due: Lab on Conditionals in C (date moved from Tuesday)
September 10 Unit 2: Functions and the Run-time Stack
  • Functions, Value Parameters, and the Run-time Stack
September 11 Unit 2: Functions and the Run-time Stack
  • Functions, Address Parameters, and the Run-time Stack

Due: Supplemental Problem 1
September 14 Unit 2: Functions and the Run-time Stack
  • 1-dimensional Arrays
Reference Materials
September 15 Unit 2: Functions and the Run-time Stack
  • Strings in C
Labs:

Lab Due: Lab on Functions, Address Parameters and the Run-time Stack
September 16 Weekly Aside: Simulations, Testing, Program Correctness
  • Random Number Generation
  • Simiulations
  • Testing
  • Program Correctness

»» In-classQuiz ««

 
September 17 Unit 3: Data Representation
  • Integers
September 18 Unit 3: Data Representation
  • Floating-Point Numbers
September 21
  • A day of solidarity
    with the Grinnell College community,
    and the greater Grinnell community,
    upon the tragic death of Michael Williams
September 22 Unit 3: Data Representation
  • Consequences of Data Representation
  • The gdb or valind debugger
Optional, Extra-credit Reading
Optional, Extra-credit Lab
September 23 Unit 4: struct and 2D Arrays
  • Grouping Data
  • structs
Labs:

Lab Due: Lab on on Characters and Strings
September 24 Unit 4: struct and 2D Arrays
  • 2-dimensional Arrays
Reference Materials
September 25 Unit 4: struct and 2D Arrays

»» In-class Test ««

»» In-class Test ««

»» In-class Test ««

»» In-class Test ««

»» In-class Test ««

»» In-class Test ««

September 28 Unit 6: Dynamic Storage
  • Memory allocation and Deallocation
  • Working with Pointers
Reference Materials
September 29 Unit 6: Linked Lists
  • Scheme-like Lists
Reference Materials

Lab Due: Lab on Working with structs
September 30 Weekly Aside: Wednesday
  • Insertion Sort
  • BInary Search
October 1 Unit 6: Linked Lists
  • List Manipulation
Reference Materials

Due: Supplemental Problem 2
October 2 Unit 6: Linked Lists
  • More List Processing (Changes Lists)
Reference Materials
Labs:

»» In-classQuiz ««
 
October 5 Unit 7: Abstract Data Types
  • Stacks
October 6 Unit 7: Abstract Data Types
  • Stacks
October 7 Weekly Aside: Wednesday Topics
  • Testing with Shell Scripts
  • Bash Scripts

»» In-classQuiz ««

Lab Due: More List Processing: Modifying Lists
October 8 Unit 7: Abstract Data Types
  • Queues
Reference Materials

[optional test revision due]
October 9 Unit 7: Abstract Data Types
  • Queues
Labs:
October 12 Unit 6: Linked Lists
  • Program Management and Libraries
Reference Materials
October 13 Unit 8: Files
  • File Streams
Reference Materials

Due: Supplemental Problem 3
October 14 Weekly Aside: Wednesday Topics
  • Command-line Arguments
Reference Materials

»» In-classQuiz ««
 

Lab Due: Linked List Implementation of Queues (include Step 8.
October 15 Unit 8: Files
  • Text Files
Reference Materials
Extra-credit Lab:
October 16 Semester Wrap-up
  • Friday, October 16
Semester Wrap-up
  • Course in Context
  • Class Discussion
  • Question/Answer
  • Course Evaluation
created 24 June 2019
revised Summer-Fall 2019
refined Winter/Spring 2020
updated 23 March 2020
updated Summer 2020
refined 26 September 2020
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.