Parkland College
2400 West Bradley Avenue, Champaign, Illinois 61821
Csc 123, Computer Science I 
Hybrid Section 290
Spring 2008
Class Notes:  
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: Mark Brandyberry's Csc 123 On-Line Course Material

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');  

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 Test #1
64   Weekly On-Line Test #2
64   Weekly On-Line Test #3
64   Weekly On-Line Test #4
64   Weekly On-Line Test #5
72   Weekly On-Line Test #6
24   Weekly On-Line Test #7
36   Weekly On-Line Test #8
24   Weekly On-Line Test #9
24   Weekly On-Line Test #10
   
200   Problems 1 - Variables and Expressions
200   Problems 2 - if statements
200   Problems 3 - while loops
200   Problems 4 - Functions
100   Problems 5 - One Dimensional Arrays
100   Problems 6 - Sorting, Searching, and Two Dimensional 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 Tests
20%  Problems 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 Problems - the 1D Array Problems).  The grades will be posted on Parkland's Angel on-line courseware.
Wed., Jan. 30 Variables, Expressions, and Strings Problems due at the beginning of class.
Wed., Feb. 20 Selection Problems due at the beginning of the class.
Wed., Mar. 5 Repetition Problems due at the beginning of the class.
Wed., Mar. 26 Function Definition Problems due at the beginning of class.
Wed., Apr. 30 1D Array Problems due at the beginning of class.
Search, Sort, and 2D Array Problems 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
No Weekly on-line quiz.
Sat. and Sun.,
Mar. 1 & 2
Weekly on-line quiz # 4: Repetition --- Section 2.4 pages 84 to 92 and Sections 3.3 and 3.4
Sat. and Sun.,
Mar 9 & 10
No Weekly on-line quiz.
Sat., Mar. 15 to Sun., Mar. 23
(entire Spring Break)
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
. 29 & 30
No Weekly on-line quiz.
Sat. and Sun.,
Apr. 5 & 6
No Weekly on-line quiz.
Sat. and Sun.,
Apr. 12 & 13
Weekly on-line quiz # 7: Text Files --- Section 6.1 and Section 6.2, pages ??? to ??? (Formatting Output with Stream Functions and Manipulators) 
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., Apr. 2 Project 1 - graded using Project 1 Grading Criteria
Wed., Apr. 16 Project 2 - graded using Project 2 Grading Criteria
Wed., May 7 Project 3 - graded using Project 3 Grading Criteria
   
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
Wed., Feb. 20 Test 2 - if Statements
Wed., Mar. 5 Test 3 -- Loops
Wed., Mar. 26 Test 4 - Functions
Wed., Apr. 30 Test 5 - Arrays
Final: Friday, May 16
2:00 pm to 4:00 pm

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
Wed., Jan. 16 The Dev-C++ Programming Environment
Variables, Expressions, and Strings Problems 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  
Wed., Jan. 23 Strings, Assignment, Expressions, and <cmath>
In class solutions for some of the problems in Variables, Expressions, and Strings Problems
Review for Test 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
Wed., Jan. 30 Variables, Expressions, and Strings Problems 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
Wed., Feb. 6 Selection Problems assigned.
Selection (if, if-else, and switch statements)
In class solutions for some of the problems in Selection Problems
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  
Wed., Feb. 13 Selection (if, if-else, and switch statements)
In class solutions for some of the problems in Selection Problems
Review for Test 2 - if Statements
Sat. and Sun.,
Feb 16 & 17
No Weekly on-line quiz.
   
Week 6  
Wed., Feb. 20 Selection Problems due at the beginning of the class.
Test 2 - if Statements
Sat. and Sun.,
Feb., 23 & 24
No Weekly on-line quiz.
   
Week 7  
Wed., Feb. 27 Repetition Problems assigned.
Repetition (while, do-while, and for statements)
In class solutions for some of the problems in Repetition Problems
Review for Test 3 - Loops
Sat. and Sun.,
Mar. 1 & 2
Weekly on-line quiz # 4: Repetition --- Section 2.4 pages 84 to 92 and Sections 3.3 and 3.4
   
   
Week 8  
Wed., Mar. 5 Repetition Problems due at the beginning of the class.
Test 3 -- Loops
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 9 & 10
No Weekly on-line quiz.
   
Week 9  
Wed., Mar. 12 Explanation of Project 1 graded using Project 1 Grading Criteria
Function Definition Problems assigned.
Function definitions
In class solutions for some of the problems in Function Definition Problems
Pass by reference
Top Down Program Design --- Writing the Right Function, First Time, Every Time
Review for Test 4 - Functions
Sat., Mar. 15 to Sun., Mar. 23
(entire Spring Break)
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., Mar. 15 to Sun., Mar. 23 Spring Break, including the Spring Holiday.
   
   
Week 10  
Wed., Mar. 26 Function Definition Problems due at the beginning of class.
Test 4 - Functions

Sign up for Project 1 grading times.
Sat. and Sun.,
Mar
. 29 & 30
No Weekly on-line quiz.
   
Week 11  
Wed., Apr. 2 Project 1 - graded using Project 1 Grading Criteria
Sat. and Sun.,
Apr. 5 & 6
No Weekly on-line quiz.
   
Week 12  
Wed., Apr. 9 Explanation of Project 2 graded using Project 2 Grading Criteria
ASCII Text Files
1D Array Problems assigned.

Arrays -- One Dimensional
Arrays  as  Parameters

In class solutions for some of the problems in 1D Array Problems
Sign up for Project 2 grading times.
Sat. and Sun.,
Apr. 12 & 13
Weekly on-line quiz # 7: Text Files --- Section 6.1 and Section 6.2, pages ??? to ??? (Formatting Output with Stream Functions and Manipulators) 
Weekly on-line quiz # 8: One dimensional arrays --- Sections 7.1 and 7.2
   
Week 13  
Wed., Apr. 16 Explanation of Project 3  graded using Project 3 Grading Criteria  <<<<<<< Scott:  Do it  in Java <<<<<<<<<<<<<
Search, Sort, and 2D Array Problems assigned.
Arrays -- Bubble Sort and Selection Sort
Arrays -- Binary Search

In class solutions for some of the problems in Search, Sort, and 2D Array Problems
Arrays -- Two Dimensional

Istructs
Arrays of structs
Sat. and Sun.,
Apr. 19 & 20
.
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 14  
Wed., Apr. 23 Project 2 - graded using Project 2 Grading Criteria
Sat. and Sun.,
Apr 26 & 27
No Weekly on-line quiz.
   
Week 15  
Wed., Apr. 30 1D Array Problems due at the beginning of class.
Search, Sort, and 2D Array Problems due at the beginning of class.

Test 5 - Arrays
Sign up for Project 3 grading times.
Fri., May 2 Last day to withdraw with W grade
Sat. and Sun.,
May 3 & 4
No Weekly on-line quiz.
   
Week 16  
Wed., May 7 Project 3 - graded using Project 3 Grading Criteria
   
Finals Week  
Friday, May 16
2:00 pm to 4:00 pm
Final: Note that this is not the normal class day or time.
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