CPE 101: Fundamentals of Computer Science I
Fall 2008

Instructor: Alexander Dekhtyar, dekhtyar@csc.calpoly.edu, 14-215

Section Days Lecture Lab
CPE 101 09 TR 8:10am - 9:30am 20 - 238 (Eng. West) 9:40am - 11:00am 14 - 302 (Frank Pilling)
CPE 101 11 TR 1:40pm - 3:00pm 33 - 287 (Fisher Sci.) 3:10pm - 4:30pm 14 - 302 (Frank Pilling)

Office Hours:
When
Who Where
Tuesday 4:30pm - 5:30pm Alex 14-209
Wednsday 9:00am - 12:00pm Alex 14-209
Thursday 11:00am - 12:00pm Alex 14-209

Additional appoinments: send email.


News and Notes

Old News and Notes

Course Materials

Syllabus Postscript PDF
Noncollaboration Agreement Postscript PDF
C Program Style (courtesy of Dr. Clint Staley) HTML
Lab Exam 1 makeup policy Postscript PDF
Examples used in lectures HTML

Reading Assignments

Due Assignment Topic Assigned on
September 25 September 30 (Tuesday) Textbook, Chapter 1 (pages 2-30) Computers: Hardware and software (overview) [September 20, 2008]
October 2 (Thursday) Textbook, Chapter 2 (pages 33-86) C: Basic concepts [September 28, 2008]
October 9 (Thursday) Textbook, Chapter 4, Sections 4.1 - 4.4 (pages 146 -166)
Sections 4.6 - 4.9 (pages 176 - 197)
Conditional statements [October 6, 2008]
October 16 (Thursday) Textbook, Chapter 5
Loops [October 14, 2008]
October 23 (Thursday) Textbook, Chapter 3
Functions [October 20, 2008]
October 28 (Tuesday) Textbook, Chapter 6
Functions [October 22, 2008]
November 6 (Thursday) Textbook, Chapter 8
Arrays [November 3, 2008]

Programs

Program 1 Due: October 17, 2008 Prototype Moon Landing Postscript PDF [October 6, 2008]
Program 2 Due: November 3, 2008 Moon Landing Game Postscript PDF [October 20, 2008]
Program 3 Due: November 26, 2008 Chess positions Postscript PDF [November 18, 2008]

Program Data
Program 1 Executable file travel-alex [October 14, 2008]
Program 2 Executable file moon-alex [October 20, 2008]

Program Tests
Program 1 Testing program1-tests.tar.gz test-public.csh test-errors.csh [October 14, 2008]
Program 1 Tests for Alex's executable test-alex-public.csh test-alex-errors.csh [October 14, 2008]
Program 2 Testing moon-tests.tar.gz moon-test.csh moon-test-alex.csh [October 30, 2008]
Program 4 Testing position01.txt position02.txt position03.txt position04.txt [November 24, 2008]

Labs

Lab 1 Due: Friday, September 26 Learning the Ropes Postscript PDF [September 23, 2008]
Lab 2 Due: Thursday, October 2 Simple C Programs Postscript PDF [September 30, 2008]
Lab 3 Due: Thursday, October 9 Conditional statements Postscript PDF [October 6, 2008]
Lab 4 Due: Thursday, October 16 Conditionals and Loops Postscript PDF [October 14, 2008]
Lab 5 Due: Thursday, October 23 Loops and Functions Postscript PDF [October 20, 2008]
Lab 6 Due: Friday, October 31 Functions and .h files Postscript PDF [October 26, 2008]
Lab 7 Part I Due: Friday, November 13 November 17 Arrays Postscript PDF [November 3, 2008]
Lab 7 Part 2 Due: Friday, November 17 Arrays Postscript PDF [November 11, 2008]
Lab 7 Part 2 Due: Friday, November 17 Arrays Postscript PDF [November 11, 2008]
Lab 8 Due: Friday, November 21 Strings Postscript PDF [November 26, 2008]
Lab 9 Due: Monday, December 1 Structures Postscript PDF [November 26, 2008]
Lab 10 Due: Friday, December 5 Structures and File I/O Postscript PDF December 1, 2008]

Lab Data
Lab 1 hello.c foo.c [September 22, 2008]
Lab 2 Executable files attendance-alex converter-alex elections-alex [September 29, 2008]
Lab 2 a simple C program simple.c [September 30, 2008]
Lab 3 Executable files attendance-alex converter-alex elections-alex [October 6, 2008]
Lab 3 Executable files zones01-alex zones02-alex zones03-alex [October 6, 2008]
Lab 3 Executable files zones04-alex zones05-alex [October 6, 2008]
Lab 3 pix2ppm pix2ppm (executable) instructions (Postscript) instructions (PDF) [October 6, 2008]
Lab 4 Executable files zones11-alex zones12-alex zones13-alex [October 14, 2008]
Lab 4 Executable files zones14-alex zones15-alex [October 14, 2008]
Lab 4 pix2ppm pix2ppm (executable) instructions (Postscript) instructions (PDF) [October 14, 2008]
Lab 4 PPM files russia-alex.ppm france-alex.ppm [October 14, 2008]
Lab 4 PPM files zones01-alex.ppm zones04-alex.ppm zones08-alex.ppm [October 14, 2008]
Lab 5 Executable file exchange-alex [October 20, 2008]
Lab 5 PPM files japan-alex.ppm us-flag-alex.ppm greece-alex.ppm [October 20, 2008]
Lab 5 PPM files diagonals-alex.ppm gradient-alex.ppm [October 20, 2008]
Lab 6 Executable file chessboard-alex [October 26, 2008]
Lab 6 PPM files chess-ppm.tar [October 26, 2008]
Lab 7 Executable files sortGame-alex [November 4, 2008]
Lab 9 Executable files grading-alex triangle-alex auction-alex [December, 1, 2008]
Lab 10 Executable files poker-alex [December, 4, 2008]

Lab Tests
Lab 2 Sample test cases attendance-test10 converter-test10 election-test01 [September 29, 2008]
Lab 2 Test scripts (student submissions) attendance-test.csh converter-test.csh elections-test.csh [September 29, 2008]
Lab 2 Test scripts (Alex's executables) attendance-test.csh converter-test.csh elections-test.csh [September 29, 2008]
Lab 2 All tests (archived as .tar.gz) attendance-tests.tar.gz converter-tests.tar.gz election-tests.tar.gz [September 29, 2008]
Lab 3 Test scripts (student submissions) attendance-test.csh converter-test.csh elections-test.csh [October 6, 2008]
Lab 3 Test scripts (student submissions) zones01-test.csh zones02-test.csh zones03-test.csh [October 6, 2008]
Lab 3 Test scripts (student submissions) zones04-test.csh zones05-test.csh [October 6, 2008]
Lab 3 Test scripts (Alex's executables) attendance-alex-test.csh converter-alex-test.csh elections-alex-test.csh [October 6, 2008]
Lab 3 Test scripts (Alex's submissions) zones01-test.csh zones02-test.csh zones03-test.csh [October 6, 2008]
Lab 3 Test scripts (Alex's submissions) zones04-test.csh zones05-test.csh [October 6, 2008]
Lab 3 All tests (archived as .tar.gz) lab03-tests.tar.gz lab03-zones-tests.tar.gz [October 6, 2008]
Lab 6 All tests (archived as .tar.gz) chess-tests.tar.gz [October 26, 2008]
Lab 6 test scripts run-chess-tests.sh run-chess-alex-tests.sh [October 26, 2008]
Lab 7 Sort Game tests (archived as .tar.gz) sortGame-test.tar.gz [November 4, 2008]
Lab 7, part 2 Unit test 1 image-test01.c test01.ppm [November 4, 2008]
Lab 7, part 2 Unit test 2 image-test02.c test02.ppm [November 4, 2008]
Lab 7, part 2 Unit test 3 image-test03.c test03.ppm [November 4, 2008]
Lab 7, part 2 Unit test 4 image-test04.c test04.ppm [November 4, 2008]
Lab 7, part 2 Unit test 5 image-test05.c test05.ppm [November 4, 2008]
Lab 7, part 2 Unit test 6 image-test06.c test06.ppm [November 4, 2008]
Lab 7, part 2 Advanced test house.c house.ppm [November 11, 2008]
Lab 7, part 2 Advanced test overlap.c overlap.ppm [November 11, 2008]
Lab 7, part 2 Advanced test points.c points.ppm [November 12, 2008]
Lab 7, part 2 Advanced test cross.c cross.ppm [November 12, 2008]
Lab 7, part 2 Advanced test shade.c shade.ppm [November 12, 2008]
Lab 7, part 2 Advanced test overlap.c overlap.ppm [November 12, 2008]
Lab 7, part 2 Test script test-images.csh [November 4, 2008]
Lab 9 Test files grading-tests.zip triangle-tests.zip auction-tests.zip [December 1, 2008]
Lab 10 Test files poker-tests.zip run-poker.csh [December 2, 2008]

Homeworks

Homework 1 Due: October 14 Postscript PDF October 8
Homework 2 Due: October 28 Postscript PDF October 22
Homework 3 Due: November Postscript PDF October 29
Homework 4 Due: November 20 Postscript PDF November 14

Homework Data/Tests

Homework 2 .PPM files target-alex.ppm (Program 1) jamaica-alex.ppm (Program 2) [October 22, 2008]
Homework 2 .PPM files rings-alex.ppm (Program 3) rising-sun-alex.ppm (Program 4) [October 22, 2008]
Homework 3 Executable elections-alex [October 29, 2008]
Homework 3 Test files el-test01 el-test02 el-test03 [October 29, 2008]
Homework 3 Test file template el-test [October 29, 2008]

Lecture Notes

Lecture 1 Fundamentals of Fundamentals: Part 1: Computers Postscript PDF [September 21, 2008]
Lecture 2 Fundamentals of Fundamentals: Part 2: Software Postscript PDF [September 24, 2008]
Lecture 3 Fundamentals of Fundamentals: Part 3: Programming Languages and Programs Postscript PDF [September 24, 2008]
Alex's Programming languages scorecard Postscript PDF [September 24, 2008]
Lecture 4 Basics of C Postscript PDF [October 1, 2008]
Lecture 5 Simple Statments and Expressions Postscript PDF [October 1, 2008]
Lecture 6 Boolean expressions, If statements Postscript PDF [October 7, 2008]
Lecture 7 Break and Switch Postscript PDF [October 14, 2008]
Lecture 8 For-loops Postscript PDF [October 14, 2008]


Other Materials

UNIX/Linux:
Basic Linux commands (courtesy of Dr. O'Gorman).
Course Help: Tutoring Center,
Addressing your instructors: Name games (courtesy of Dr. Staley).
Academic Integrity Policies: Cheating at Cal Poly, All Academic Policies.
September 17, 2008, dekhtyar at csc.calpoly.edu