CSIS-120 Introduction to Programming

Spring, 2008

 

 


Instructor:

Dr. Mary Anne Egan

319 Roger Bacon

782-6546

maegan@siena.edu

Office Hours:

Monday 11:30-12:30, 2:00-3:00

Tuesday 11:30-12:30

Thursday 11:30-12:30

Friday    11:30-12:30

Lecture Sections:

Monday/Friday   10:25 – 11:20

Lab Sections:

Tuesday  1:00 – 3:00

Wednesday  9:20 – 11:20

 

Course Materials:

 

            Text:                 Objects First with Java:  A Practical Introduction using BlueJ by Barnes and Kölling

            Hardware:          Pentium III workstations, Alpha server

            Software:           Blue J running under windows

 

Course Goals:

 

·         To enhance the student’s problem-solving abilities

·         To develop the student’s ability to develop programming solutions

·         To enable the student to translate algorithmic solutions to a Java implementation

·         To help the student acquire knowledge about computing systems in general

·         To continue the student’s introduction to the academic discipline of Computer Science

 

Even if your career takes you in a direction that doesn’t require computer programming, the organization and problem-solving skills that you learn in this course can be applied in many different situations.  By learning to program a computer, which requires very precise instructions, you can hone your problem-solving skills to a much higher degree.

 

Policies:

 

Attendance:   Do not miss class.  You are responsible for all announcements and material covered in class, whether or not you are physically present.  It is your responsibility to obtain handouts, notes, and materials for any classes you may have missed. 

 

Do not miss an exam; make-up exams will not be given unless there is a valid advance reason for missing an exam, i.e. scheduled sports event (intramural events do not count), class trip, etc.  Arrangements must be made in advance by contacting me at least two weeks before the scheduled exam date to arrange an alternative time.

 

Attendance Bonus:  While I do not penalize students for absences (you do that yourself by missing information taught during class), I do offer an incentive to attend class.  If you have perfect attendance for the whole semester, I will “bump” your grade up to the next grade.  For example, if you end the semester with a C+ and have perfect attendance, you will receive a B- as a final grade.

 

An absence is defined as any time you are not in class, whether the absence is excused or unexcused.  The only case where I will not bump your grade for perfect attendance is when you end the semester with an F. 

 

 

 

Academic Honesty: While partnerships are encouraged in the Laboratory segments, you must do your own work on programming projects.  Academic dishonesty includes cheating on an exam, handing in a project not entirely your own work, or turning in a lab not entirely done by the partners.  The penalty for academic dishonesty is a final grade of F for the course.  I reserve the right to examine any files or directories in your course account at any time.

 

I am available if you should run into difficulty in working on your projects or labs, whether it is in general algorithm development or in syntax problems.  You should be aware that a visit during office hours is considered to be evidence that you care about your work, and that you care about your progress in the course.  You should take advantage of this help, especially for lab work.

 

Lab Work: While you may develop your programs on another system, you must have a copy in your course account that runs under Blue J’s version of Java to receive credit.  You may work on labs with a partner, but each member of the team must have a copy of the programs in his/her own directory.  You may not collaborate with others outside your lab partnership.

 

Project Work: While you may develop your projects on another system, you must have a copy in your course account that runs under Blue J’s version of Java.  Plagiarism, for project work, consists of receiving help from anyone other than the instructors for this course; if you have been given help from anyone (including the tutor), you must document (comment) this help in your program.

 

Hats:  It is common etiquette that men do not wear any type of hat inside. You will not be allowed in my classroom if you are wearing a hat.  For the sake of fairness, not etiquette, this policy will also hold for women. 

 

Cell Phones:

 

 

 

Assessment:

 

Your grade for this course will be based upon your lab work, project work, and performance on exams.  The following weights will be used to determine grades:

 

                        Labs                 20%

                        Projects            30%

                        Quizzes            10%

                        Exam 1             10%

                        Exam 2             10%

                        Final Exam        20%

 

To earn a grade of C- or better in this course, you must have an average of C- or better on the examinations and projects, regardless of performance on labs.

 

Exams:  All exams will be closed-book and cumulative, although the second exam will stress material covered after the first exam.  In each exam, you will be permitted to bring in one sheet of paper (8.5” by 11”) with anything you like written on it

 

 


Letter Grades

 

Grade

Approx. Numeric Equivalent

Description

A

89-100

A student earning this grade must demonstrate not only mastery of course material, but also originality or creativity that is appropriate to the problem solving nature of this course.

B

79-88

Mastery described above has a hole here and there

C

69-78

Student lacks an understanding of some of the material presented in class and worked with in the lab

D

59-68

Serious deficiencies in several areas that were covered in the course

F

<59

Deficiencies span the better part of the course

 

 

 

 

 

 

 

Tentative Class and Laboratory Schedule

 

In this introductory course, we will attempt to balance the need to “cover” a certain amount of material with the approach of providing enough time for us to work as computer scientists.  So, while a list of topics and dates is provided, you should be aware that it is only a tentative plan for the semester.

 

Week beginning

Lecture

Lab

Textbook

 

 

 

 

 

 

1/21

Intro

No lab

Chapter 1

 

1/28

Objects and classes

Lab 0

Chapter 1

 

2/4

Class definitions

Lab 1

Chapter 2

 

2/11

Object interaction

Lab 2

3.1 – 3.10

 

2/18

Methods/Debugger

No lab

3.11 – 3.15

 

2/25

Methods/Debugger

Lab 3

3.11 – 3.15

 

3/3

ArrayLists

Lab 4

4.1 – 4.7

 

3/10

Loops

Lab 5

4.8 – 4.9

 

3/17

No Classes

No lab

 

 

3/24

Arrays

No lab

4.10 – 4.12

 

3/31

Arrays

Lab 6

 

 

4/7

Javadoc

Lab 7

5.1 – 5.4

 

4/14

Sets

No lab

5.5 – 5.9

 

4/21

Public vs. private

Lab 8

5.10 –5.14

 

4/28

Well-behaved objects

Lab 9

Chapter 6

 

5/5

Wrapup

No lab

 

 

 

Tentative Evening Exams (7-9PM):

 

Monday, February 25

Tuesday, April 1