CS 152L; Computer Programming Fundamentals for CS Majors; Spring 2005

Last modified: 06/22/05

Instructors

Barney Maccabe
home page, email

Cheri Burch
home page, email

Phone

277-6504

277-3052

Office

EECE 236B

FEC 319

Office hours

9-10 MWF & by appointment

11-12 MWF & by appointment

Mailing list: subscription link.
Textbooks: JAVA an Introduction to Programming by Adams, Nyhoff, and Nyhoff, Prentice Hall, 2001; The Essential Java Class Reference for Programmers by Brian Durney, Prentice Hall, 2004.

Class meetings

Education Room 103; Monday, Wednesday, Friday 10-11. Students are required to attend all lectures and a weekly laboratory session. If you miss a lecture or laboratory session, you should make arrangements with a student who did attend the session to find out what you missed.

Dates

Topic

Reading

Handouts

1/19-1/21

Introduction

Chapter 0

Overview, Chapter 0

1/24-1/26

Problem solving

Chapter 1

Chapter 1

1/28-1/31

Intro to Java

Chapter 2

Chapter 2

2/2-2/4

Types and Expressions

Chapter 3

Chapter 3

2/7-2/11

Methods

Chapter 4

Chapter 4

2/14

Review

2/16

First Midterm Exam

2/18-2/25

Control Structures

Chapter 5

Chapter 5 Circle CircleDriver

2/28-3/4

Instance Methods

Chapter 6

Chapter 6 Circle, Space, DrawCircles

3/7-3/11

Selection

Chapter 7

Chapter 7

3/14-3/18

Spring Break

3/21-3/25

Repetition

Chapter 8

Chapter 8

3/28

Review

3/30

Second Midterm Exam

4/1-4/8

Arrays

Chapter 9

Chapter 9

4/11-4/15

File I/O

Chapter 10

4/18

Review

4/20

Third Midterm Exam

4/22-4/25

Inheritance

Chapter 11

4/27-4/29

Data Structures

Chapter 12

5/2-5/4

Advanced Topics

Chapter 13

5/6

Review

5/9

Final Exam

Labs

Section

Time

TA

Office Hours

1

Mondays 9:00

Daniel Bayliss

3-4 W FEC 318

2

Wednesdays 9:00

Peter Lu

1-3 Th FEC 318

3

Fridays 9:00

Will Courtney

11-12 WF FEC 318

4

Thursdays 9:30

Alan Rolli

1-3 Th FEC 318

5

Tuesdays 12:30

Peter Lu

1-3 Th FEC 318

6

Mondays 3:00

Louis Vogel

2-3 M & 3-4 W ESC Pod

Homework Assignments

Throughout the semester, exercises will be assigned from the textbook.  Homework assignments will be made on Wednesdays and due the following Monday. There will be homework assignments every Wednesday, except the week before Spring Break (March 9), the week of Spring Break (March 16) and the last two weeks of classes ( April 27 and May 4). Assignments are due at the start of class.  Late assignments will not be accepted. Your homework assignments will constitute 15% of your grade in this class.

Assignment

Assigned

Due

1

pages xlix through l:
1, 5, 7, 8, 16, 18, 28, 30, 36

1/19

1/24

2

page 47, problem 10

1/26

1/31

3

page 63: 2, 6, 7, 10, 14, 18, 20, 27, 30, 32

2/2

2/7

4

pages 119-120: 11, 13, 14, 20, 28, 30, 39, 47, 48, 55, 57, 62, 68, 69
pages 129-130: 9, 14, 18, 35
pages 136-137: 5, 8, 14, 15, 23, 24, 27

2/9

2/14

5

page 182: 4, 9

2/16

2/21

6

page 225: 12 and 13
page 243: 9, 10, 11, 17

2/23

2/28

7

page 225: 9, 10, and 14
page 243: 18, 19, and 20.

3/2

3/7

8

page 304: 4, 5, 6, 7

3/23

3/28

9

page 341: 1, 2, 3, 6.

3/30

4/4

10

page 519: 1, 2, 4, 11, 12, 18

4/6

4/11

11

page 552: 9, 10, 11, 12

4/13

4/18

12

none

4/20

4/25

Programming Assignments

There will be six programming assignments during the semester. Your programming assignments will constitute 45% of your grade in this class. The tentative schedule for programming assignments is shown below:

Assignment

Assigned

Due

Points

1

Write a Java program to solve the problem described in Exercise 5 on page 93 of your text. Your program should prompt for four values: distance traveled, number of gallons of fuel, cost of fuel, and other costs. Your program must be turned in (using the turnin script) by 5pm on Wednesday, February 9th. In addition, you must turn in an object table by the start of class on Wednesday, February 9th.

1/31

2/9

5

2

2D Point collisions

2/16

2/28

6

3

Watching Particle Collide

2/28

3/11

7

4

You are to write a Rational class and a RationalDriver class that evaluates simple expressions involving rational numbers. See exercise 13 on page 328 of your textbook. You are only required to implement addition, subtraction, multiplication, division and the comparison operations. (Note, even tough you do not need to implement a reduce operation in the driver, you must still produce reduced fractions for the results of the arithmetic operations.) To help you get started, here is an initial Rational class and an initial RationalDriver.

3/21

4/6

8

5

Problem 34 on page 582 of your text.

4/4

4/15

9

6

Counting words

4/15

4/29

10

Programming assignments must be turned in by 5pm on the due date. You have six late days to use as you would like throughout the semester. Late days are not divisible: a program turned in at 5:01pm will be charged a full late day (as will a program that is turned in at 4:59 the next day). There is no penalty associated with using a late day; however, once you have used up your six late days, late programs that you submit will not be accepted.

Exams

There will be three midterm exams and one final exam.  All exams will be cumulative All exams will be administered as in-class, close book exams . Each midterm will be worth 10% of your grade in the class. Your lowest midterm exam score will be dropped, meaning that midterm exams will represent a total of 20% of your final grade. If you miss a midterm exam for any reason, this is the score that will be dropped in computing your final score. If you miss two exams, you must provide documentation justifying your absence. Any absence that could reasonably be anticipated (e.g., work related travel) should be cleared before hand.

The final exam will be administered on Monday, May 9th from 10:00 until noon. The final exam will be worth 20% of your final grade. You must attend and take the final exam to pass the class.

Exam

Date

Chapters

1

2/16

0 -- 4

2

3/30

0 -- 8

3

4/20

0 -- 10

Final

5/9

all

Academic Honesty

While you are encouraged to work with your fellow students to better learn the material covered in this class, grades will be assigned on an individual basis. As such, the work that you turn in must reflect your own effort and understanding of the material. When cheating is identified, it is often difficult to determine who copied from whom. To avoid this difficulty, you should be careful to make sure that copies of your programs and homework assignments are not available to other students in the class.

Activity

Penalty

Homework

Negative score on homework assignment.

Program

First occurrence: negative score on assignment;
Second occurrence: failing grade in the class.

Midterm exam

First occurrence: score of zero on exam which will not be dropped;
Second occurrence: failing grade in the class.

Final exam

Failing grade in the class.

Grading

This raw score used in determining your final graded will be based on the following weights:

Activity

Percent

Homework 

15%

Programs

45%

Midterm Exam

20%

Final Exam

20%