Week 8/7 - 9/5
THE DIGITAL WORLD
How Have Computers Changed Your Life?
What Language Do Computers Talk?
Strings You Cannot Tie
When Numbers Do Not Behave
Data: Music to Your Ears
Breaking Images into Bits
Data Compression
Programming without Words
Project: Analyze an Image
Review: The Digital World
Tests: 9/1 - 9/4
Week 9/8 - 10/3
THE INTERNET
Network Building Blocks
Building a Network
Network Protocols
Where's My Web?
Fault Tolerance
How the Web Grows
Parallel and Distributed Computing
What Has Distributed Computing Done for You?
Review: The Internet
Tests
Week 10/6 - 10/31
PROGRAMMING
Computer Arithmetic
Planning Your Program
Writing a Program
What Happens When You Run a Program?
Building Your Application
Lists: The Everything Container
Manipulating Lists
Design as a Collaborative Process
Project: Write a Program
Data Abstractions
Getting Input
Event-Driven Programs
Design as an Iterative Process
Project: Plan a Program and Its User Interface as a Team
Review: Programming
Tests
Week 11/3 - 11/21
CONTROLLING YOUR PROGRAM FLOW
When Errors Happen
Testing Programs
Manipulating Strings
Relational Operators
Logical Operators
Project: Plan a Program Using Choices
Conditionals
Nested Conditionals
Iteration
Nested Loops
While Loops
Project: Write a Program Using Choices
Review: Controlling Your Program Flow
Test
Week 11/24 - 12/12
DOING MORE WITH ALGORITHMS
Comparing Algorithms
Modifying Existing Algorithms
List Operations
Linear Searching
Binary Search
Project: Manipulate Lists in a Program
Project
Calling Procedures
Interpreting the Exam Procedure Call
How Functions/Procedures Manage Complexity
What's My Procedure?
Sending Output
Project: Program with Functions
Review: Doing More with Algorithms
Test
Week 12/15 - 12/19
SEMESTER REVIEW AND EXAM
Semester Review
Semester Exam