GEORGE MASON UNIVERSITY
Department of Computer Science
CS 112, CS I (4 Units)-Syllabus Spring 2002
Section 1 Monday/Wednesday 3:00-4:15pm, ST 2, 7
Instructor:
Dr. Tucker Maney, Office, ST 2, 437 Phone: 993-1543
email: maney@cs.gmu.edu Office hours: Wed 5-8pm
Students in section 1 must enroll in a lab
section 201-206
Section 2 Tue/Thur 10:30-11:45am, ST 2, room 7
Instructor:
Dr. Richard Carver, Office, ST 2, 343 Phone: 993-1550
email: rcarver@cs.gmu.edu
Office hours: Tuesday and Thursday 12:30-1:30pm.
Class notes:
http://www.cs.gmu.edu/~rcarver/cs112/cs112.html
Students in section 2 must enroll in a lab
section: 207-212
Section 3 Tue 4:30-7:10pm, LH 1
Instructor: Dr. Anne Marchant
, Office: ST I 2-C Phone: 993-1526
email: amarchan@cs.gmu.edu Office hours: Tuesday 2-4pm or
by appt.
Class notes:
http://www.cs.gmu.edu/~amarchan/cs112/cs112.html
Students in section 3 must enroll in a lab
section: 213-218
DESCRIPTION:
A first course in computer science for majors and others with a
serious interest in computer science. Topics include an overview of
computer system hardware and organization, problem solving methods and
algorithm development, program structures, abstract data types, simple
data and file structures, introduction to analysis of algorithmic
complexity and program correctness, and applications development in a
high level language that supports modular design.
Prerequisite: Thorough understanding of high school algebra and
trigonometry and successful completion of Math Placement Test offered
through the Testing Center (i.e. student is eligible to take Math 113), or
a grade of C or better in MATH 105.
CS 112 is an intensive, time-consuming, 4 unit class intended for CS
majors, CS minors, and students in engineering and/or mathematics.
While students in the IT minor program may take CS 112,
they are strongly advised to take IT 108 instead. Beginners with
little exposure to computers should consider taking IT 103 or IT 108.
CS 112 is taught using C++ in a Unix environment. Lab attendance
is required.
GRADING POLICY:
labwork 20%, quizzes and instructor evaluation 10%,
midterm 20%, programming assignments 20%, final 30%. These are
general guidelines.
Any conflicts with quizzes or exams must be resolved beforehand. No
makeups will be given for any reason. Exam dates are subject to change.
Scores may be curved at the instructor's discretion at the end of the
term.
Programming assignments and lab work are to be individual
efforts. Cheating cases will be referred to the honor
committee. Any student found guilty of an honor code violation will
receive an F in the class. The MOSS program may be
used to check programming submissions. Students are expected to be
familiar with:
Late work will be penalized. Work will not be accepted for credit more
than 1 week late. Students should check their grades on line by weeks 5,
10 and 14 of the semester. Any discrepancy must be resolved with the TA
by the end of the week following. No adjustments to grades can be made
after that time.
A student missing 3 or more programming assignments or who receives a D or
F on the final exam will receive a course grade of D or F at
the instructor's discretion. This policy is intended to ensure
that students are adequately prepared for CS 211. Students must receive a
final course grade of C or better to go on to CS 211.
READING:
Textbooks: W. Savitch, Problem Solving With C++.
3rd ed.,2000. (required)
Special Note: You really need the
new edition. It contains an additional chapter on exception handling
and other new material. Additionally, when we assign work out of
the book, page numbers won't match if you use the old edition.
P. Anderson, Just Enough Unix, 3rd ed., 2000. (required)
TAs, COURSE MATERIALS AND GETTING HELP:
Class FTP Site
ftp://mason.gmu.edu/amarchan/cs112
Dr. Maney's CS112 Web Site
http://www.cs.gmu.edu/~maney/cs112/
Dr. Carver's 112 Web Site
http://www.cs.gmu.edu/~rcarver/cs112/cs112.html
Dr. Marchant's 112 Web Site
http://www.cs.gmu.edu/~amarchan/cs112/cs112.html
Dr. Maddox's 112 Web
Site http://www.cs.gmu.edu/~tmaddox/cs112
Web CT - CS 112 Bulletin
Board http://webct.gmu.edu
TAs and Office Hours of CS 112 Staff
ftp://mason.gmu.edu/amarchan/cs112/cs112officehours.txt
SCHEDULE:
Week Topics Chapters
1 Hardware and Software Basics C++ ch. 1-2
What is Programming? Unix ch. I,
Program Structure in C++ pico/pine:
Introduction to Unix p. 189, 237
2 Data types, Objects and Classes C++ ch. 2-3
Operators, Expressions, Loops, Unix ch. II
Control Structures, Basic I/O
3 Functions, Variable Scope, Constant C++ ch. 3-4
Value Parameters, Overloading Functions Unix ch. III
4 void Functions, Reference Parameters C++ ch. 1-4
QUIZ (in class), Stubs and Drivers Unix App. D
5 File I/O, Streams C++ ch. 5
Stream Classes
(Last Day to Drop without Dean's Permission is 2/22 by 5pm)
6 Arrays and for loops C++ ch. 9.1-9.2
Strings, 2D arrays C++ ch. 10
7 Review review chapters
Midterm (Sect. 1: 3/6, Sect. 2: 3/7 , Sect. 3: 3/5)
8 Structures C++ ch. 6
Classes C++ ch. 16
9 More on Classes C++ ch. 7
Nesting, more on Loops, Switch
10 ADT operations, Overloading Operators C++ chs.8,9.3-9.4
Searching/Sorting
11 Pointers C++ ch. 11
QUIZ (in class), Dynamic Allocation
12 Recursion C++ ch. 12
Command line arguments, practice (C++ ch. 15
is optional)
13 Linked Lists I
Linked Lists II C++ ch. 14
14 Templates C++ ch. 13
Review
Final Exam:
Section 1: Mon 5/13 1:30-4:15pm
Section 2: Thu 5/9 10:30am-1:15pm
Section 3: Tue 5/14 4:30-7:15pm