Syllabus

CS 110: Programming Fundamentals I

Winter 2009

Meeting Times

Lect: 10:00 - 10:50 MWF, HB 106

Labs: 10:00 - 10:50 Tu, HB 203, HB 204

Instructor

Dr. Razvan Andonie, HB 219-B, Office hours

TA

Shahzada Mansoor (HB 203), Paul Pirone(HB 204)

Text

Starting Out with Java 5, Early Objects by Tony Gaddis, Addison-Wesley, Third Edition, 2008.

Objectives

This is the first course in the computer science major's pre-admission requirements. No previous computer programming experience is required. In this course, we begin by looking at how a software program actually runs on a computer. Next, we look at how to write software programs in the object-oriented programming language Java. This is the first half of a two-quarter course sequence. This quarter we will cover Chapters 1-6 in your textbook leaving you in good shape to go on to CS 111 should you choose to continue.

Student Learning Outcomes

On completion of this course, the student will have:

 

Follow basic software design practices to design, code, test, and debug Java programs.

Use selection and looping control structures in Java programs to control the program execution flow.

Use classes, objects, and methods to properly modularize Java programs.

Lectures & Projects

The slides for lectures can be found in the shared directory on Neve. Textbook readings are designed to take, on average, two to three hours to complete. Most programming assignments are designed to take, on average, four hours to complete.

Grading

*  50% Exams:

10% Objective Exam 1: Multiple choice and short answer questions. Closed book, closed notes.

10% Objective Exam 2: Multiple choice and short answer questions. Closed book, closed notes.

10% Programming Exam 1: Done in Lab on the computer. Open book, open notes.

20% Final Exam. Multiple choice and short answer questions. Closed book, closed notes.

*  50% Programming Assignments: Weekly programming assignments, due at the start of the next Lab.

Grade Distribution

95 - 100   A

90 - 94     A-

87 - 89     B+

83 - 86     B

80 - 82     B-

77 - 79     C+

73 - 76     C

70 - 72     C-

67 - 69     D+

63 - 66     D

60 - 62     D-

0  - 59      F

 

If you must miss an exam, contact your instructor prior to the exam to schedule a time to make it up. Late submission of assignments is generally not accepted. No partial credit for late assignments will be offered.

Resources

bullet

You can download the jGRASP Tutorials, a zip file containing PDF tutorials for jGRASP (including Getting Started) and example source code.

bullet

When purchased new, the textbook comes with a CD containing: appendices, case studies, source code for all the example programs, JDK with documentation, jGRASP with documentation, information about how to install JDK and jGRASP, answers to odd-numbered review questions and checkpoints.

bullet

Student Resources can be also downloaded.

bullet

Fore more information, read Installing jGRASP. The Java Development Kit (JDK) should be installed on your system before you install the jGRASP development environment. It is better to download the JDK and jGRASP software in order to get the latest versions.

bullet

The  Java Programming Style Guide, prepared by Dr. Gellenbeck, is useful.

Course Schedule

Date

Topic

Readings

1/7

Introduction

Syllabus

1/9

Introduction to Computers and Java

Ch. 1

1/12

Introduction to Computers and Java

Ch. 1

1/14

Java Fundamentals

Ch. 2

1/16

Java Fundamentals

Ch. 2

1/19

Martin Luther King Jr. Holiday

1/21

Java Fundamentals

Ch. 2

1/23

Java Fundamentals

Ch. 2

1/26

A First Look at Classes and Objects

Ch. 3

1/28

A First Look at Classes and Objects

Ch. 3

1/30

A First Look at Classes and Objects

Ch. 3

2/2

Review and Solve A Problem

Ch. 1-3

2/4

Exam 1

Ch. 1-3

2/6

Decision Structures

Ch. 4

2/9

Decision Structures

Ch. 4

2/11

Decision Structures

Ch. 4

2/13

Solve A Problem

Ch. 4

2/16

Presidents` Day

2/18

Loops and Files

Ch. 5

2/20

Loops and Files

Ch. 5

2/23

Loops and Files

Ch. 5

2/25

Review and Solve A Problem

Ch. 1-5

2/27

Exam 2

Ch. 1-5

3/2

A Second Look at Classes and Objects

Ch. 6

3/4

A Second Look at Classes and Objects

Ch. 6

3/6

A Second Look at Classes and Objects

Ch. 6

3/9

A Second Look at Classes and Objects

Ch. 6

3/11

A Second Look at Classes and Objects

Ch. 6

3/13

Review and Solve A Problem

Ch. 1-6

3/17

Final Exam: 8:00 - 10:00

Ch. 1-6

Laboratory Schedule

Date

Topic

Item Due

1/13

Computer science network and  jGRASP setup

Read the jGRASP Getting Started document

1/20

Begin Program 1

 

1/27

Begin Program 2

Program 1 due

2/3

Begin Program 3

Program 2 due

2/10

Begin Program 4

Program 3 due

2/17

Begin Program 5

Program 4 due

2/24

Begin Program 6

Program 5 due

3/3

Begin Program 7

Program 6 due

3/10

Programming Exam

Program 7 due

 

The programming assignments can be found in the shared directory on Neve - cs110.

Honor Code

All work turned in for credit, including exams and all components of the project, are to be the work of the student whose name is on the exam or project. For all project components, the student can receive assistance from individuals other than the instructor only to ascertain the cause of errors. Thus you can get help if you need it to figure out why something doesn't work. You just can't get help from anyone, other than the instructor or TA, to figure out how to make something work. All solutions turned in for credit are to be your individual work and should demonstrate your problem solving skills, not someone else's. The following text should appear on all assignments: I pledge that I have neither given nor received help from anyone other than the instructor for all program components included here.

Help each other understand and debug the programming assignments. However, you should write the code for your programs yourself. Writing it yourself is the only way you will learn. Do not work together to solve the programming assignments to the extent that two programs are essentially the same solution. All program solutions turned in for credit are to be your individual work and should demonstrate your problem solving skills, not someone else's. Since everyone is writing their own code, no two programs should be the same or so similar that I could convert one to the other by a simple mechanical transformation (e.g. changing variable names and comments). I consider this plagiarism and a violation of academic code.

First violation: Students must meet with the instructor. In most cases, the grade will be split between the authors of the copied programs. Second violation: Students will receive no credit for the assignment, an incident letter will be placed on file in the Computer Science Department, and the matter referred to the Computer Science Department Chair.

Class Attendance

Class attendance is expected and recorded.

ADA Statement

Students with disabilities who wish to set up academic adjustment in this class should give me a copy of their "Confirmation of Eligibility for Academic Adjustment" from the Disability Support Services Office as soon as possible so we can discuss how the approved adjustment will be implemented in this class. Students without this form should contact the Disability Support Services Office, Buillon 205 or dssrecept@cwu.edu or 963-2171.

Caveat

The schedule and procedures for this course are subject to change. It is the student's responsibility to learn of and adjust to changes.