Parkland College
2400 West Bradley Avenue, Champaign, Illinois 61821
Csc 123, Computer Science I 
Traditional Section 00
1
Spring 2008
  All grades are in and the course is finished.  Have a great summer!
Syllabus: Syllabus
   
Help! Is Scott in his office?

Resources for Students
   
Angel: You may see your grades using Parkland's Angel on-line courseware.  All testing will be done on Angel.
   
Reference: The C / C++ Programming Language
Installing
Dev-C++ on your home computer

stub.h and stub.cpp  (typical starting code for C / C++ programs)

Beginning C / C++ Syntax Specifications   (for Csc 123 students during first half of semester)
Simplified C / C++ Syntax Specifications   (best for Csc 123 students)
Reasonably Complete, Student Friendly C++ Syntax Specifications  (best for Csc 125 students)

The Fastest and Bestest Way to Program, Guaranteed. (with any programming language)
Version Backups
  (Do it.  Just DO IT!  You may be really, really sorry if you don't do it.)

Writing the Right Function, First Time, Every Time (read this toward the middle of the course, when we cover Functions and Top Down Design)

A way to keep the DOS screen visible at the end of your program when using Dev-C++ :

   
getchar();  

An input flush for cin that works:

   
cin.ignore(INT_MAX, '\n');  

Mark Brandyberry's Csc 123 On-Line Course Material

C and C++ Libraries Reference (clearly written web version)
C++ string class -- operators & functions
(Scott's version)
Complete list of standard C functions   (don't get overwhelmed)

Getting PuTTY and WinSCP  (for Linux users only, but if you are a Linux user, you probably know this already)
   
Lab Times: CSIT Department Open Lab Times
   
Free software: CSIT - Microsoft Academic Alliance -- be sure to read Mark Brandyberry's excellent explanation of the entire process of obtaining free software from Microsoft, and his instructions for installing Microsoft Visual Studio 2005.
   
   
Grading Grading is administered on Angel.
   
Total points: 5000   
Points  Task
64   Weekly On-Line Quiz 1
56   Weekly On-Line Quiz 2
64   Weekly On-Line Quiz 3
64   Weekly On-Line Quiz 4
72   Weekly On-Line Quiz 5
64   Weekly On-Line Quiz 6
24   Weekly On-Line Quiz 7
36   Weekly On-Line Quiz 8
24   Weekly On-Line Quiz 9
32   Weekly On-Line Quiz 10
   
200   Program Set 1 - Variables and Expressions
200   Program Set 2 - if statements
200   Program Set 3 - while loops
200   Program Set 4 - Functions
200   Program Set 5 - Arrays
   
300   Test 1 - Variables and Expressions
300   Test 2 - if statements
300   Test 3 - while loops
300   Test 4 - Functions
300   Test 5 - Arrays
   
500   Project 1
500   Project 2
500   Project 3
   
500   Final
Grade Weights
Percentage  Task
   
10%  Weekly On-Line Quizs
20%  Program Sets
30%  Tests
30%  Projects
10%  Final
Grade Scale
Grade  Points
   
A  90% of total - 4500 to 5000
B  80% of total - 4000 to 4449
C  70% of total - 3500 to 3999
D  60% of total - 3000 to 3499
F  below 60% of total - 2999 or below
   
Small Programs: Each set of Small Programs are due at the beginning of class for the associated test (except the first half of the Array Programs - the 1D Array Programs).  The grades will be posted on Parkland's Angel on-line courseware.
Wed., Jan. 30 Program Set 1 - Variables, Expressions, and Strings due at the beginning of class.
Mon., Feb. 18 Program Set 2 - Selection due at the beginning of the class.
Wed., Feb. 27 Program Set 3 - Repetition due at the beginning of the class.
Wed., Mar. 12 Program Set 4 - Functions due at the beginning of class.
Wed., Apr. 30 Program Set 5 - Arrays due at the beginning of class.
   
On-Line Quizzes The On-Line Quizzes are open book, open computer, open Internet, but you must completely do the quiz by yourself, without help from any other person.  The quizzes will only have a moderate number of questions, but many of the questions will require that you do some searching through the text or other sources, such as Wikipedia, or that you write some simple test programs.  Each test is designed to take about two hours for a beginning student to complete.  The quizes will be taken using Parkland's Angel on-line courseware, with a two day window for completion.
Sat. and Sun.,
Jan. 19 & 20
Weekly on-line quiz  1: C++ Compilation, strings --- Chapter 1 (all), and Section 8.2, Introduction to the Standard Class String (pages 467 - 470 only)
Sat. and Sun.,
Jan 26 & 27
Weekly on-line quiz  2: Variables, assignment, expressions, and <cmath> --- Chapter 2 except for Section 2.4.
Sat. and Sun.,
Feb. 2 & 3
No Weekly on-line quiz.
Sat. and Sun.,
Feb. 9 & 10
Weekly on-line quiz  3: Selection --- Section 2.4 except pages 84 to 92 and Sections 3.1 and 3.2
Sat. and Sun.,
Feb 16 & 17
No Weekly on-line quiz.
Sat. and Sun.,
Feb., 23 & 24
Weekly on-line quiz  4: Repetition --- Section 2.4 pages 84 to 92 and Sections 3.3 and 3.4
Sat. and Sun.,
Mar. 1 & 2
No Weekly on-line quiz.
Sat. and Sun.,
Mar 9 & 10
Weekly on-line quiz  5: Function Definitions --- Chapter 4 (all), Section 5.1
Weekly on-line quiz  6: Pass-by-reference parameters --- Chapter 5 (all but Section 5.1)
Sat., and Sun,
Mar. 15 & 16
No Weekly on-line quizzes  during Spring Break.
Sat. and Sun.,
Mar. 22 & 23
No Weekly on-line quizzes  during Spring Break.
Sat. and Sun.,
Mar
. 29 & 30
Weekly on-line quiz  7: Text Files --- Section 6.1 and Section 6.2, pages ??? to ??? (Formatting Output with Stream Functions and Manipulators) 
Sat. and Sun.,
Apr. 5 & 6
No Weekly on-line quiz.
Sat. and Sun.,
Apr. 12 & 13
Weekly on-line quiz  8: One dimensional arrays --- Sections 7.1 and 7.2
Sat. and Sun.,
Apr. 19 & 20
.
No Weekly on-line quiz.
Sat. and Sun.,
Apr 26 & 27
Weekly on-line quiz    9: Two dimensional arrays --- Sections 7.3 and 7.4
Weekly on-line quiz  10: structs and Arrays of structs --- Section 10.1
   
   
Projects: Projects will be graded individually, in-person, in my office, during a 10 or 15 minute time slot which you will sign up for.  The sign-up will be during the class meeting before the grading period.   I will tell you your grade immediately when I evaluate your project in my office, and post the grade using Parkland's Angel on-line courseware.
Wed., Mar. 26 Project 1 - graded using Project 1 Grading Criteria
Wed., Apr. 16 Project 2 - graded using Project 2 Grading Criteria
Wed., May 7 // Replaced by two  versions below: Project 3 - graded using Project 3 Grading Criteria

Project 3 (Java Version) - graded using Project 3 (Java Version) Grading Criteria using ParticleSimulator.java, Particle.java and DrawingCanvas.java <---- You can do this OR

Project 3 (C Version) - graded using Project 3 (C Version) Grading Criteria using particlesimulator.cpp, particlesimulator.h  <---- You can do  this
   
Tests: Testing may be done either on your classroom computer during regular class time, using Parkland's Angel on-line courseware.
For programming tests taken in class, I will tell you your grade immediately when I evaluate your work.  Otherwise grades will only be on
Angel.
Wed., Jan. 30 Test 1 - Variables, Expressions, and Strings
Mon., Feb. 18 Test 2 - if Statements
Wed., Feb. 27 Test 3 -- Loops
Wed., Mar. 12 Test 4 - Functions
Wed., Apr. 30 Test 5 - Arrays
Final: Thurs. Dec. 13   8:00 am to 10:00 am
Note that this is not the normal class day or time
 
Final Exam Study Guide
   
   
Daily Topics: The following schedule is tentative and may be modified as the semester progresses.
Week 1
Mon., Jan. 14 The Dev-C++ Programming Environment
Wed., Jan. 16 Program Set 1 - Variables, Expressions, and Strings assigned.
Data Types, Literals and Variables
Sat. and Sun.,
Jan. 19 & 20
Weekly on-line quiz  1: C++ Compilation, strings --- Chapter 1 (all), and Section 8.2, Introduction to the Standard Class String (pages 467 - 470 only)
Sun., Jan. 20 Last day to drop with 100% refund from full-semester courses
This is a Sunday!.  You must drop online or on the previous Friday at Parkland to meet this deadline.
   
Week 2  
Mon., Jan. 21 Martin Luther King Day - College Closed
Wed., Jan. 23 Strings, Assignment, Expressions, and <cmath>
In class solutions for some of the programs in Program Set 1 - Variables, Expressions, and Strings
Sat. and Sun.,
Jan 26 & 27
Weekly on-line quiz  2: Variables, assignment, expressions, and <cmath> --- Chapter 2 except for Section 2.4.
Mon., Jan. 28 Last day to drop without record
Last day to drop with 50% refund
Week 3
Mon., Jan. 28 In class solutions for some of the programs in Program Set 1 - Variables, Expressions, and Strings
Review for Test 1 - Variables, Expressions, and Strings
Wed., Jan. 30 Program Set 1 - Variables, Expressions, and Strings due at the beginning of class.
Test 1 - Variables, Expressions, and Strings
Sat. and Sun.,
Feb. 2 & 3
No Weekly on-line quiz.
   
Week 4
Mon., Feb. 4 Program Set 2 - Selection assigned.
Selection (if, if-else, and switch statements) -- start
Wed., Feb. 6 Selection (if, if-else, and switch statements) -- continuation
In class solutions for some of the programs in Program Set 2 - Selection
Sat. and Sun.,
Feb. 9 & 10
Weekly on-line quiz  3: Selection --- Section 2.4 except pages 84 to 92 and Sections 3.1 and 3.2
   
Week 5  
Mon., Feb. 11 Selection (if, if-else, and switch statements) -- continuation
In class solutions for some of the programs in Program Set 2 - Selection
Wed., Feb. 13 Selection (if, if-else, and switch statements) -- completion
Review for Test 2 - if Statements
Sat. and Sun.,
Feb 16 & 17
No Weekly on-line quiz.
   
Week 6  
Mon., Feb. 18 Program Set 2 - Selection due at the beginning of the class.
Test 2 - if Statements
Wed., Feb. 20 Program Set 3 - Repetition assigned.
Repetition (while, do-while, and for statements) -- start
In class solutions for some of the programs in Program Set 3 - Repetition
Sat. and Sun.,
Feb., 23 & 24
Weekly on-line quiz  4: Repetition --- Section 2.4 pages 84 to 92 and Sections 3.3 and 3.4
   
Week 7  
Mon., Feb. 25 Repetition (while, do-while, and for statements) -- completion
In class solutions for some of the programs in Program Set 3 - Repetition
Review for Test 3 - Loops
Wed., Feb. 27 Program Set 3 - Repetition due at the beginning of the class.
Test 3 -- Loops
Sat. and Sun.,
Mar. 1 & 2
No Weekly on-line quiz.
   
Week 8  
Mon., Mar. 3 Explanation of Project 1 graded using Project 1 Grading Criteria
Program Set 4 - Functions assigned.
Function definitions - start
Wed., Mar. 5 Function definitions  - completion
In class solutions for some of the programs in Program Set 4 - Functions
 
Fri., Mar. 7 Midterm
Note: Your midterm grade is a summary of your current progress only and does not count toward your final grade.
Sat. and Sun.,
Mar 8 & 9
Weekly on-line quiz  5: Function Definitions --- Chapter 4 (all), Section 5.1
   
Week 9  
Mon., Mar. 10 Pass by reference
Top Down Program Design --- Writing the Right Function, First Time, Every Time
Wed., Mar. 12 ASCII Text Files
Review for Test 4 - Functions
Sat., and Sun,
Mar. 15 & 16
No Weekly on-line quizzes during Spring Break.
   
   
Sat. Mar. 15 to Sun., Mar. 23 Spring Break, including the Spring Holiday.
Sat. and Sun.,
Mar. 22 & 23
No Weekly on-line quizzes during Spring Break.
   
Week 10  
Mon., Mar. 24 Program Set 4 - Functions due at the beginning of class.
Test 4 - Functions
Wed., Mar. 26 Program Set 5 - Arrays assigned.
Arrays -- One Dimensional - start
Sat. and Sun.,
Mar
. 29 & 30
Weekly on-line quiz  6: Pass-by-reference parameters --- Chapter 5 (all but Section 5.1)
Weekly on-line quiz  7: Text Files --- Section 6.1 and Section 6.2, pages ??? to ??? (Formatting Output with Stream Functions and Manipulators) 
   
Week 11  
Mon., Mar. 31 Arrays -- One Dimensional - completion
In class solutions for some of the programs in Program Set 5 - Arrays
Wed., Apr. 2 Explanation of Project 2 graded using Project 2 Grading Criteria
Project 1 - graded using Project 1 Grading Criteria
Sign up for Project 1 grading times.
Sat. and Sun.,
Apr. 5 & 6
No Weekly on-line quiz.
   
Week 12  
Mon., Apr. 7 Arrays  as  Parameters
In class solutions for some of the programs in Program Set 5 - Arrays
Wed., Apr. 9 Arrays -- Bubble Sort and Selection Sort
Arrays -- Binary Search

In class solutions for some of the programs in Program Set 5 - Arrays
Sat. and Sun.,
Apr. 12 & 13
Weekly on-line quiz  8: One dimensional arrays --- Sections 7.1 and 7.2
   
Week 13  
Mon., Apr.  14 Arrays -- Two Dimensional
In class solutions for some of the programs in Program Set 5 - Arrays
Wed., Apr. 16 structs
Arrays of structs
Sat. and Sun.,
Apr. 19 & 20
.
No Weekly on-line quiz.
   
Week 14  
Mon., Apr. 21 Explanation of Project 3  graded using Project 3 Grading Criteria 
In class solutions for some of the programs in Program Set 5 - Arrays 

Sign up for Project 2 grading times. 
Wed., Apr. 23 Project 2 - graded using Project 2 Grading Criteria 
Sat. and Sun.,
Apr 26 & 27
Weekly on-line quiz   9: Two dimensional arrays --- Sections 7.3 and 7.4 
Weekly on-line quiz 10: structs and Arrays of structs --- Section 10.1 
   
Week 15  
Mon., Apr. 28 In class solutions for some of the programs in Program Set 5 - Arrays 
Review for Test 5 Arrays 
Wed., Apr. 30 Program Set 5 - Arrays due at the beginning of class. 
Test 5 Arrays 
Fri., May 2 Last day to withdraw with W grade
Sat. and Sun.,
May 3 & 4
No Weekly on-line quiz.
   
Week 16  
Mon., May 5 Review for Final - Final Exam Study Guide 
Open lab for help and upgrade of Project 2 or pre-grading of Project 3.
Sign up for Project 3 grading times. 
Wed., May 7 Project 3 (Java Version) - graded using Project 3 (Java Version) Grading Criteria using ParticleSimulator.java, Particle.java and DrawingCanvas.java <---- You can do this OR

Project 3 (C Version) - graded using Project 3 (C Version) Grading Criteria using particlesimulator.cpp, particlesimulator.h  <---- You can do  this
   
Finals Week  
Thursday, May 15
8:00 am to 10:00 am
Final: Note that this is not the normal class day or time
Final Exam Study Guide

(Ack --  what an awful time.  If Scott does not show up, don't leave!  Send someone to the CSIT Department Office and have them call his home phone.  Linda Crowley is the best person to call Scott.  She really knows how to handle him in the morning.  She has experience.  He lives just across Bradley Ave.  He will show up soon, probably looking awful, but hopefully coherent enough to start the tests and be able to answer moderately difficult questions.  Please do not ask him "What is the meaning of life?" at that hour, however.  You might not like the answer.)
 
Mon., May 19 Grades due by 9:00 pm.
   

 

  Scott Badman   Office: B132   Phone: 353-2250   sbadman@parkland.edu  

Parkland College, 2400 W. Bradley Avenue, Champaign, IL 61821