Computer
Science 50
schedule
and notes
We plan to use all x-hour periods for demos, recitations, quizzes and
project tutorials and lectures. The
last two weeks of the course are held over for group projects - there will
be no lectures during this period but there will be group design reviews and
code reviews. See the initial schedule below. Things may change.
Week 1 March 30-April 3
Lecture 1
Monday Getting
Started
***Lab1
(Shell Commands) goes out
Lecture 2 Wednesday
The Linux Shell and Commands
Lecture 3
Friday
The
Linux Shell and Commands
Week
2 April 6-10
Lecture 4
Monday
Shell Programming
***Monday complete Lab 1 (not graded, no need to submit)
***Lab2
(Shell Programming) goes out
Lecture
5 Wednesday Shell
programming
x-hour clinic
Subversion
Versions System (SVN)
Lecture 6
Friday
Shell
programming
Week 3 April 13-17
Lecture
7 Monday
Introduction
to C
***Monday before 11.59 PM
Lab2
in
***Lab3
(C Programming) goes out
Lecture
8 Wednesday
Preprocessor,
Functions, Data Structures, Arrays, and Strings
Lecture X Thursday Standard
IO Lib and C/OS Interface
Lecture 9
Friday C Functions for CS50 Hackers
-- I see the book as a reference that you can dig into for the details and
examples but we will not work
-- through the book in the classic sense of a textbook. But I would like to
point to a number of chapters
-- that if you read closely will help with your programming - I guarantee
they will improve your software.
--
-- Please read these over the weekend:
--
-- Chapter 9: Strings
-- Chapter 10: Data files
--
-- A good understand of how to manage strings and files will be of great
help to you. Please read these
-- chapters even if it is a cursory read (detailed read is better of course,
but I know you are loaded).
-- Do your best to read as much as you can.
Week
4 April
20-24
Lecture 10
Monday C Functions for CS50 Hackers
***Tuesday before 11.59 PM
Lab3
in
Lecture
12 Wednesday
Searching the Web and
Design
Methodology
***Lab4
(Crawler) goes out
Xhour
Thursday
Pesky
Pointers
Lecture 13
Friday
Debugging
using gdb and Dynamic Memory Allocation
More
chapters over the weekend read:
-- Chapter 11: Arrays, Address, Pointers
-- Chapter12: Structures
-- Chapter 10: Data files
Week 5 April 27-May 1
Lecture 14 Monday
TinySearch
Engine: Crawler Data Structure Design
Lecture
15 Wednesday
TinySearch Engine: Crawler Design
Lecture
16 Thursday TinySearch
Engine: Getting Started Coding and Debugging the Crawler
Lecture 17
Friday
The Make Utility
Week 6 May 4-8
Lecture
16 Monday TinySearch
Engine: Indexer Design
***Monday
midnight
Lab4
in
***Lab5
(Indexer) goes out
Lecture 17
Wednesday
The Art of Debugging
x-Lecture
Thursday
Pizza
and Pointers by section leaders/ TA
The CS50 famous
pointers quiz - so you think you know pointers, hey - come
puzzle the wonders of ptrs
pesky
pointers quiz and solution
Lecture
17 Friday
The
Art of Testing (and Writing Good Code)
Week 7 May
11-15
Lecture
18 Monday
The Art of
Testing: Unit Testing and
Building
your very own C library
***Monday midnight
Lab5
in
***Lab6
(Query engine) goes out
Lecture 19
Wednesday Socket
Programming
x-Lecture
Thursday
Project demo (Rui Wang) in Lan 001 Sudikoff
Lecture
20 Friday
Processes,
threads, mutex
***Sunday midnight
Lab6
in
****END
OF LABS****
***Lab 7 goes out.
****PROJECTS
START******
Week
8 May 18-22
Project
Monday PROJECT
Tutorial
TBA
Talk by our very own Doug McIlroy
His beautful code example of sieve and slide
Thank you Doug!
Friday Each team will meet for a design/code review and partial demo with their section leaders
Week
9 May 25-29
May 25, Monday -- Memorial Day
Week 10 June 1
4-6 PM Monday DEMO day
Tuesday midnight final report and code port due in SVNs;
-------------------------------------------------------------
Dartmouth Academic Calendar Spring
2015
March 30, Monday -- Spring term classes begin
May 25, Monday -- Memorial Day
June 2, Tuesday -- Spring term classes end
June 3-4, Wednesday - Thursday -- Pre-Examination Break
June 5, Friday -- Final examination period begins
June 8, Monday -- Scheduled final examinations end
June 9, Tuesday -- Final Examination period ends
June 14, Sunday -- Commencement