GEORGE MASON UNIVERSITY
Department of Computer Science Course Description
IT 108 Programming Fundamentals (3 Units)- Syllabus Spring 2002


Instructor: Martha McJunkin mcjunkin@cs.gmu.edu 993-1498, Office 405 ST 2, Office Hours: M/W 1:00PM-2:30PM
Section 001: Mon/Wed 9-10:15am, Robinson A111
Section 002: Mon/Wed 3-4:15pm, Ent 178

Instructor: Daryoush Shafighi
Section 003 (Manassas): Tue, Thu 8:30-9:45am, PW1 219 dshafigh@gmu.edu
Office hours after class in PW1-328


Labs for Sections 201-203 only Lab 201 Mon 11:30-12:20pm, ST 1, 124 Lab 202 Mon 12:30-1:20pm, ST 1, 124 Lab 203 Mon 1:30-2:20pm, ST 1, 124 Labs for Sections 204-206 only Lab 204 Fri 1:30-2:20pm, ST 1, 124 Lab 205 Fri 2:30-3:20pm, ST 1, 124 Lab 206 Fri 3:30-4:20pm, ST 1, 124 Lab for Section 003 only: Lab 207 Thu 9:50-10:40am PW1 219 Important:You must enroll in a lab that goes with your lecture or your lab work will not be recorded.
Teaching Assistants:
204-206 Anurag Dwivedi, adwivedi@gmu.edu, office rm 365 ST 2, office hours M/F 2:30PM-4:30PM
201-203 Liting Cai, lcai@gmu.edu, office rm 265 ST 2, office hours 12:30-4:00 W

Undergraduate Assistant: KaiNan Fu

On-line Course Materials:
Check here for assignments and due dates: webct.gmu.edu

Course Description:
IT 108 Programming Fundamentals (3:2:1). Prerequisite: IT 103. Introduction to programming fundamentals for non-technical majors. The software development process is presented. Students learn to write programs in a high level language that supports object oriented design. Students may not receive credit for both IT 108 after receiving a grade of C or better in CS 112 (Computer Science and some other majors require CS 112).

Grading:

There will be 3 exams worth 15% each, a lab quiz worth 5%, 10 lab assignments worth 30%, 3 homework asssignments worth 10%, and a final project worth 10%. A calendar of exams and assignment due dates may be found in the IT 108 folder on WebCT. Pop quizzes and/or in-class extra credit assignments may be given at the instructor's discretion.

Note: Due to the large enrollment, makeup exams are never given for any reason. Late work is not accepted more than 1 week late and late work will be penalized. Final Projects will not be accepted late. Arrive promptly to exams. Late students may not be admitted.

Final Project: The final project must be in your mason account and the text must be written in your own words. Click here to read about the final project due in lab week 13. Extra Credit:For up to 5 extra credit points, do a 15 minute class presentation. Get the topic/date approved in advance. For information Click here.

Honor Code: All work in this class is to be the result of individual effort. See the instructor or TA if you need help. The instructor reserves the right to modify the grading scale and/or require a student to be examined orally if questions about the integrity of the student's work arise. Honor Code violations hurt everyone! Honor code violations will be prosecuted to the fullest extent.

This class is intended to be fun, but the student is advised that any programming class requires a good bit of time.

Schedule:

							
     Lecture 1 Welcome! Basics of HMTL, Unix, Hardware and Software 
Overview 
     Lecture 2 Programming, Java and Javascript, Unix commands and file 
permissions 
     Lecture 3 Variables and constants, operators, assignment statements, 
and functions. 
     Lecture 4 Conditional Statements: if..else, compound statements 
(blocks), Loops I 
     Lecture 5 Loops II, parameters (arguments), Intro to OOP 
     Lecture 6 Classes, Objects, and Constructors, Simple I/O, 
     Lecture 7 Overloading, Scope, Practice 
     Lecture 8 Review for Exam I 
     Lecture 9 Exam I 
     Lecture 10 Exam postmortem, Functions I 
     Lecture 11 Functions II 
     Lecture 12 Switch, Random Numbers 
     Lecture 13 Applets 
     Lecture 14 Graphics I, Layout managers 
     Lecture 15 Graphics II, Events 
     Lecture 16 Strings I 
     Lecture 17 Arrays I 
     Lecture 18 Review for Exam II 
     Lecture 19 Exam II 
     Lecture 20 Exam Postmortem/Projects 
     Lecture 21 Strings II 
     Lecture 22 Arrays II 
     Lecture 23 Debugging, More on Unix, Javadoc 
     Lecture 24 File I/O I, exception handling 
     Lecture 25 File I/O II, comparison of C++ and Java 
     Lecture 26 Presentations 
     Lecture 27 Presentations 
     Lecture 28 Review for Exam III 
Final Exam: (Arrive promptly. Students will not be admitted late.)
001 Mon 5/13 7:30-10:15am
002 Mon 5/13 1:30-4:15pm
003 To Be Announced

Required texts:
Joyce Farrell, Java Programming: Introductory. ITP, 1999.
June Parsons and Dan Oja, Computer Concepts. 3rd Ed. (Illustrated, Introductory), 2000.