Hampton CS 151 Fall 2022
Computer Programming I
About the Class
CS 151 is an introductory class designed for students with no formal exposure to computer science or programming. The goal is to provide a gentle but thorough introduction to computer science that will prepare students to either take further computer science courses, or use computer science in their field of study.
See the Syllabus page for more details on course policies.
Course Materials
Week 1 - Introduction to Computer Science & Karel
- 9/6
- Tuesday
- Lecture 1 Intro to CS & Syllabus Review
- [Slides]
- 9/9
- Thursday
- Concept Videos Lecture 2 Computer Science Everywhere!
- Concept Videos Lecture 2 Computer Science Everywhere!
- 9/10
- Friday
- HW 0 Survey due Introduce Yourself & Academic Integrity
Week 2 - Karel Functions & Decomposition
- 9/13
- Tuesday
- Concept Videos Lecture 3 Karel Methods
- Lecture 3 Karel Methods
- [Slides]
- Concept Videos Lecture 3 Karel Methods
- 9/15
- Thursday
- Concept Videos Lecture 4 Karel Decomposition
- Lecture 4 Karel Decomposition
- [Slides]
- Concept Videos Lecture 4 Karel Decomposition
- 9/10
- Friday
- HW 0 Office Hours due Visit Lara’s OH and 1 Google TA’s OH
Week 3 - Karel Loops & Conditionals
- 9/20
- Tuesday
- Concept Videos Lecture 5 Karel Loops & Conditionals
- Lecture 5 For Loops & While Loops
- [Slides]
- Concept Videos Lecture 5 Karel Loops & Conditionals
- 9/22
- Thursday
- Career Fair No Lecture
Week 4 - Conditions & Debugging
- 9/27
- Tuesday
- Concept Videos 6 Karel While Loops & Debugging & Formatting
- Lecture 6 Karel While Loops & Debugging & Formatting
- [Slides]
- Concept Videos 6 Karel While Loops & Debugging & Formatting
- 9/29
- Thursday
- Karel Quest Review Karel Quest Review
- Pracice Quest Solutions
Week 5 - Welcome to Java!
- 10/4
- Tuesday
- Exam Karel Quest
- Exam Karel Quest
- 10/6
- Thursday
- Concept Videos Lecture 7 Welcome to Java!
- Lecture 7 Welcome to Java!
- [Slides] [Workspace]
- Concept Videos Lecture 7 Welcome to Java!
- 10/7
- Friday
- Project 1 due Project Karel
Week 6 - Java Variables & Types
- 10/11
- Tuesday
- Concept Videos 8 Variables & Types
- Lecture 8 Java Variables & Types
- [Slides] [Workspace]
- Concept Videos 8 Variables & Types
- 10/13
- Thursday
- Lecture 9 Variables II & If/Else Charts
- [Slides] [Workspace]
Week 7 - Parameterization & Returning
- 10/18
- Tuesday
- Concept Videos 10 Methods Parameterization & Returning
- Lecture 12 Methods Parameterization & Returning
- Lab 7 [Methods Parameterization & Returning]
- Check-Off Questions
- Concept Videos 10 Methods Parameterization & Returning
- 10/20
- Thursday
- Concept Videos Lecture 13 More Method Practice & Strings
- Lecture 13 Parameterization
- Concept Videos Lecture 13 More Method Practice & Strings
Week 8 - Midterm
- 10/25
- Tuesday
- Lab Midterm Exam
- 10/27
- Thursday
- Midterm Exam
Week 9 - Arrays
- 11/1
- Tuesday
- Concept Videos 14 List it out in an Array
- Lecture 14 Arrays
- Lab 8 [Arrays]
- Check-Off Questions
- Concept Videos 14 List it out in an Array
- 11/3
- Thursday
- Concept Videos Lecture 15 Indexing Arrays
- Lecture 15 Indexing Arrays
- Concept Videos Lecture 15 Indexing Arrays
- 11/4
- Friday
- Project 2 due Wordle Starter Doc Due
Week 10 - Arrays II / Hashmaps
- 11/8
- Tuesday
- Concept Videos 17 More Arrays & Array Lists
- Lecture 17 More Arrays & ArrayLists
- Lab 10 [Arrays & ArrayLists]
- Check-Off Questions
- Concept Videos 17 More Arrays & Array Lists
- 11/10
- Thursday
- Concept Videos Lecture 18 Array Counting
- Lecture 18 Array Counting & Search Algorithms
- Concept Videos Lecture 18 Array Counting
Week 11 - Algorithms
- 11/14
- Monday
- Project 2 due Wordle Project Due
- 11/15
- Tuesday
- Concept Videos 19 Nested for Loops & Algorithmic Complexity
- Lecture 19 (Algorithmic Complexity](https://drive.google.com/file/d/1Z-9-eYqmsugUe-3T0g94rXEDRT_IOK2b/view?usp=sharing)
- Lab 11 [Search Algorithms & Image Filter]
- Check-Off Questions
- Concept Videos 19 Nested for Loops & Algorithmic Complexity
- 11/17
- Thursday
- Concept Videos Lecture 20 Ethics of Computing
- Lecture 20 Ethics of Computing
- Concept Videos Lecture 20 Ethics of Computing
Week 12 - File Input/Output
- 11/22
- Tuesday
- Lecture 21 Java Quest Review
- Research Paper due Ethics of Computing
- Lecture 21 Java Quest Review
- 11/23
- Thanksgiving Break
- 11/24
- Thanksgiving Break
- 11/25
- Thanksgiving Break
Week 13 - Objects and Classes
- 12/5
- Monday
- Project 3 due Image Filter
- 11/29
- Tuesday
- Exam Quest Java
- Exam Quest Java
- 12/1
- Thursday
- Lecture 21 [Final Project]
Week 14 - File Input/Output & GUIs
- 12/5
- Monday
- Project 4 due Music Maker
- 12/6
- Tuesday
- Concept Videos 22 Future of Computing
- Lecture 22 Future of Computing
- Lab 14 In Lab Final
- Concept Videos 22 Future of Computing
- 12/8
- Thursday
- Concept Videos Lecture 23 Farewell Lecture
- Lecture 8 Farewell Lecture
- Concept Videos Lecture 23 Farewell Lecture
Week 15 - Finals Week
- 12/12
- Monday
- Final Project due Final Project
- 12/17
- Saturday
- Final Exam 1pm Final Exam for 11:00am Lecture
- 12/19
- Monday
- Final Exam 1pm Final Exam for 12:30am Lecture