GEORGE MASON UNIVERSITY

Department of Computer Science

CS 112, CS I (4 Units)-Syllabus Fall 2003


Section 1 Monday/Wednesday 3:00-4:15pm, IN 103
Instructor: Martha McJunkin, Office, ST 2, 405 Phone: 993-4198
email: mcjunkin@cs.gmu.edu Office hours M 1:30-2:45

Students in section 1 must enroll in a lab section 201-206


Section 3 Monday 4:30-7:10pm IN 103

Instructor: Rahul Singh Office: ST 2, 229 Phone: 993-1530
email rsingh9@cs.gmu.edu Office hours: Wednesday 4:00-5:30PM, Thursday 4:30-5:30PM

Students in section 3 must enroll in a lab section: 213-218


Section 5 Thursday, 4:30-7:10pm R B 209
Instructor: William McDonald Buck. Office ST2 435 .

email: wbuck@gmu.edu Office hours by Appointment

Students in section 5 must enroll in a lab section: 225-227

 


TAs
lab section TA name TA email TA office hour

216, 225-227 Sunitha Burri sburri@gmu.edu Office rm 268 ST2 Office Hours Thursday 3:00-7:00PM

213-215 Krishnaveni Miriyala kmiriyal@gmu.edu, Office rm 365 ST2,Office Hours Tuesday 10:00AM-2:00PM,

201-203 Sheila Srinivas ssriniv1@gmu.edu rm 268 ST2 T 1:00-3:00PM, W 12:30-2:30PM

217-218 Jifei Xia jxia@gmu.edu, Office rm 268, Office Hours Monday 2:20-4:20PM

204-206 Aohan Zhao azhao@gmu.edu Office rm 268, ST2 Office Hours Wednesday 12:00-4:00PM

 

UNDERGRADUATE ASSISTANTS

labs 201-203 Aliza George, ageorge2@gmu.edu

labs 204-206 Thuy Tran, ttranp@gmu.edu

labs 213-215 Sri Harsha Surapaneni, ssurapa1@gmu.edu

labs 216-218 Ying Tao, ytao@gmu.edu

labs 225-227, Victor Semenov, vsemenov@gmu.edu


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:

Labs will not be accepted late. Late assignments will be penalized. Assignments 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++. 4th ed.,2002. (required)


TAs, COURSE MATERIALS AND GETTING HELP:

Mr. Buck's CS112 Web Site
(your userid is your mason standard userid, password is your student id number)

Web CT - CS 112 Bulletin Board


SCHEDULE:

Week           Topics                                        Chapters
1              Hardware and Software Basics                  C++ ch. 1-2
               What is Programming?                  
               Program Structure in C++              
               Introduction to Unix                  
 
2              Data types, Objects and Classes               C++ ch. 2
               Operators, Expressions 
 
3              Loops, Control Structures, Basic I/O          C++ ch. 3
               with CIN/COUT                  
 
4              Functions, Variable Scope, Constant           C++ ch. 3-4
               Value Parameters, Overloading Functions       
 
5              void Functions, Reference Parameters,         C++ ch. 4
               Stubs and Drivers
               QUIZ 1 (in class)      
        
 (Last Day to Drop without the Dean's Permission is 9/26 by 5pm)
 
6              File I/O, Streams, Stream Classes             C++ ch. 5
               Character I/O                         
 
7              Arrays and For Loops; Strings;                C++ ch. 10.1 – 10.3
               String class                                  C++ ch. 11.1 – 11.2
               2d Arrays                                     C++ ch. 10.5
 
8              Designing flow of control;                    C++ ch. 7
               Review For Midterm
                MidTerm (Sections 3 & 5)                          
 
9              Nesting loops; Booleans; Switch  
               Structs; Classes                              C++ ch. 6
 
10             Classes, ADTs, Friends,                       C++ ch. 6,8 
               Overloading operators 
                                                      
11             Separate Files(Class Definition(interface),   C++ ch. 9
               Class Method Definitions(implementation) 
               and Application(main)), Makefiles     
 
12             Command line arguments, dynamic allocation    C++ ch. 12
               Introduction to pointers
                
 
13             Quiz 2, Pointers,                                     C++ ch. 12
               Searching/Sorting                             C++ ch. 10.3-10.4
 
14             Review for Final                                      
 

Final Exam:
Section 1: Mon 12/15 1:30-4:15pm
Section 3: Mon 12/15 4:30-7:15pm
Section 5: Thurs 12/11 4:30am-7:15pm