| |
CS 10051 Fall 2009 Class Schedule
The course has 7 sections. Please see the CS Department Fall Class Schedule for location
and date information for each section.
Covering for Gwenn
Prof. Javed Khan will take over the morning section for Gwenn starting Monday Nov. 16.
Prof. Michael Rothstein will take over the afternoon section for Gwenn starting Monday Nov. 16.
Important Dates
08/31 Classes begin
09/07 Labor Day, no classes
10/12 Midterm Exam
10/21 Freshmen Midterm Grades Available for Viewing in FlashFAST
11/11 Veterns's Day, no classes
11/25-29 Thanksgiving break
12/13 Classes End
Week of 12/14 - Final Exams (View University Final Exam Tables)
Week 1
- M - 8/31: How the course is organized; introduction to algorithms - counting, sorting; binary representation, ASCII; Scratch
- W - 9/2: GoogleEarth API - you will be able to do this once you learn how to write code; Intro to Scratch; Why we do not start with C++; Algorithms - pseudocode for finding your socks; The Scratch language (Boolean Expressions, Conditions, Loops, Variables, Arrays); Threads and Events; Breaking down a complex program: Oscartime.sb; From Scratch to C++
- Lab Week 1: Programming in Scratch
- Assigned Reading: Chapters One and Two (pp. 2-52) and Scratch user guide
Week 2
- M - 9/7: No Class - Labor Day
- W - 9/9: Students login to their CS computer account,
go to home directory, and use nano or gedit to create some text file,
and change permissions of the created files.
Create public_html directory under home directory and
create a simple index.html under public_html,
change permisssions on home directory, public_html, and
index.html for Web access (chmod a+x on folder and chmod a+r on
file). Then access the Web page from a browser.
Source code, Executable code; Linux servers, SSH, Unix Shell and Nano; g++ Compiler; Printing out text and variables to the console
- Lab Week 2: Introduction to ssh, remote computing, the bash and c-shells; The g++ compiler and text editors (nano, pico, vim, emacs, etc)
- Assigned Reading: Chapter Three (pp. 53-89) and Supplementary C++ Chapter
Week 3
- M - 9/14: How to write a program in C++; Variables in C++; Conditions; Functions, Comments, Standard output, Arithmetic operators,
- W - 9/16: Precedence, Associativity, Local variables, Types, Casting, Standard input, Boolean Expressions, Switch Statements, Loops
- Lab Week 3: Exploring numeric and text representations
- Assigned Reading: Chapter six (pp. 146-175) and Supplementary C++ Chapter
Week 4
- M - 9/21: Pre-processor Directive, Arrays; Problems w/Arrrays; Strings as Arrays
- W - 9/23: Command-Line Arguments; More about data types (float, double, char, bool); Random #'s; Experiment to estimate PI
- Lab Week 4: Writing simple C++ programs
- Assigned Reading: Chapter 8 (pp. 233-266)
Week 5
- M - 9/28: Algorithm Run Times; Asymptotic Notation, Linear Search; Search in general; Recursion; Intro to Sorting
- W - 9/30: Bubble Sort, Selection Sort; Merge Sort; The GDB debugger
- Lab Week 5: Search algorithms (built-in function - sort())
- Assigned Reading: Chapter 9 (pp. 279-301)
Week 6
- M - 10/05: Data Structures
- W - 10/07: Data Structures
- Lab Week 6: Sorting algorithms (more built-in functions - e.g., rand())
- Assigned Reading: Chapter 9 (pp. 302-321)
Week 7
- M - 10/12: Midterm Exam
- W - 10/14: Low-Level Programming; Machine Code
- Lab Week 7: Machine Code and Assembly Language using the GDB disassembler
- Assigned Reading: Chapter 7 (pp. 195-232)
Week 8
- M - 10/19: Assembly Language
- W - 10/21: Gate and Circuits
- Lab Week 8: More practice with Unix/Linux
- Assigned Reading: Chapter 4 (pp. 90-118)
Week 9
- M - 10/26: AND, OR, and NOT Gates
- W - 10/28: Building circuits from low-level gates
- Lab Week 9: Gates; Logic Circuits; Arithmetic Circuits
- Assigned Reading: Chapter 5 (pp. 119-145 )
Week 10
- M - 11/02: Operating Systems
- W - 11/04: Virtualization and Cloud Computng
- Lab Week 10: A peak inside the Windows OS and Intro to Virtualization
- Assigned Reading: Chapter 10 (pp. 322-352)
Week 11
- M - 11/09: Information Systems
- W - 11/11: No Class - Vetern's Day
- Lab Week 11: Cryptology
- Assigned Reading: Chapter 12 (pp. 376-408)
Week 12
- M - 11/16: The World Wide Web; HTML and XML; JavaScript and PHP
- W - 11/18: Networks
- Lab Week 12: HTML, XML JavaScript, PHP
- Assigned Reading: Chapter 16 (pp. 505-529)
Week 13
- M - 11/23: The Internet; Routers and Switches and Packets oh my!
- W - 11/25: No Class - Thanksgiving Break
- Lab : Monday and Tuesday working on Lab 12
- Assigned Reading: Chapter 15 (pp. 480-504)
Week 14
- M - 11/30: Simulation and Graphics
- W - 12/02: More Graphics
- Lab Week 14: Using Graphics Libraries
- Assigned Reading: Chapter 14 (pp. 441-479)
Week 15
- M - 12/07: Artificial Intelligence
- W - 12/09: What is Computable and what's not
- Lab Week 15: Class Choice
- Assigned Reading: Chapter 13 (pp. 409-40) and Chapter 17 (pp. 532-570)
NOTE: Chapter 11 content is interspersed through-out the lectures and labs
|