## Syllabus

• Note: Syllabus subject to change
• ## Week 1: Introduction; Data Representation

• Read: Brookshear 0.1, 0.3, 0.4, 1.4, 1.5, 1.8, 1.9
• Jan 17: Course Overview  [ppt]
• Lab: Object Oriented Programming 1 [ppt] [py]
• Jan 19: Binary and other Data Representations [ppt]

## Week 2: Boolean Logic, Circuits, How a CPU Works

• Read: Brookshear 1.1, 2.1 – 2.4
• Read: Brookshear 6.1-6.5 (for a review of OO for lab)
• Jan 24: Boolean logic; Logic Gates [ppt] [A1 posted]
• Lab: Object Oriented Programming 2, Practice Binary
• Jan 26: How computers Work: The CPU, instruction sets [ppt]

## Week 3: Algorithms

• Read: Brookshear 5.1 – 5.4
• Jan 31: Algorithms and Pseudocode [ppt]
• Lab: Review logic gates and CPU workings
• Feb 2: Math Review; Analysis of Algorithms [ppt] [A1 due; A2 posted]

## Week 4: Analysis of Algorithms

• Feb 7: Analysis of Algorithms continued [ppt]
• Lab: Review Math, Analysis of Algorithms
• Feb 9: Algorithm Analysis, Sorting [ppt] [A2 due on FRIDAY 2/10; A3 out]

## Week 5: Data Structures 1

• Read: Brookshear 8.1 – 8.7
• Feb 14: Test Review; Intro to Data Structures [ppt]
• Lab: Test Review
• Feb 16: Test 1; Lists, Vectors [ppt]

## Week 7: Data Structures 3

• Feb 28: Trees [ppt] [A3 due; A4 out]
• Mar 1: Trees, cont., Heaps [ppt]

## Week 8: Data Structures 4

• Mar 6: Graphs [ppt]
• Mar 8: Advanced Trees, data structures on disk [ppt]

## Week 9: Data Structures Practice

• Mar 13: Exam 2 Practice [ppt]
• Mar 15: Exam 2 Practice, continued [A4 due; A5 out]

## Week 10: Regular Expressions

• Read: Brookshear 1.2, 1.3, 3.1 – 3.5
• March 20: Regular Expressions, Finite Automata [ppt]
• Mar 22: Test 2 Regular Expressions, cont [ppt]

## Week 11: Operating Systems, Software Engineering

• Read: Brookshear 7.1 – 7.9, 3.1 – 3.5
• Apr 3: Operating Systems [ppt]
• Apr 5: Guest Lecture: Dr. Armando Fox: SOA, SaaS

## Week 12: Distributed Systems, Security

• Apr 10: Guest Lecture: Sarah Sproehnle, Cloudera, on Hadoop/MapReduce [A5 due; A6 out]
• Apr 12: Guest Lecture: Prof. Dave Wagner on Web Security [pdf]

## Week 15: RRR week

• May 1: Optional Review class
• May 3: No class [A7 due]

## Week 16: Final Exam

• May 7 (10am-11am): Test 3