IT 108 Programming Fundamentals (3 Units)-
Syllabus Spring 2002
Instructor: Daryoush Shafighi
Section 003 (Manassas): Tue, Thu 8:30-9:45am, PW1 219
dshafigh@gmu.edu
Office hours after class in PW1-328
Teaching Assistants:
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.
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.)Required texts:
Joyce Farrell, Java Programming: Introductory. ITP, 1999.
June Parsons and Dan Oja, Computer Concepts. 3rd Ed.
(Illustrated, Introductory), 2000.