Course Expectations and Tentative Syllabus

 

CSC:280                                             Object Programming                                    Spring 2008

 

Section 01               Meets:                  MWF  12:00-12:50pm   Room: 200 Olney Hall

Lab Thur 2:00-3:45pm   Room 200 Olney Hall

 

Professor:         Dr Redmond                                                         Office Hours:                 MWF 9:00-9:50am

                                330 Olney Hall   (215) 951-1096                                                                     MWF  11:00-11:50am             

                                redmond@lasalle.edu                                                                                         And at other times by appointment

                                http://www.lasalle.edu/~redmond/teach/280                               

                               

Text:

Lewis J, and Loftus, W., Java Software Solutions, Foundations of Program Design, Fifth Edition, Addison-Wesley, 2007  ISBN: 0-321-40949-3

 

Course Description:

This course is the second programming course, primarily for computer science, information technology, and mathematics majors, or computer science minors.  It reinforces the major types of programming constructs that are common to most languages (branching and looping). It emphasizes Object-Oriented Programming techniques, to give a firm foundation for future courses and for the workplace. This course also provides exposure to the Java programming language, which is popular in the marketplace due to its flexibility and compatibility with the WWW.

An important part of the class is the two-hour lab each Thursday. Your regular attendance is expected, as with other class meetings.

 

Prerequisite: CSC 230 or equivalent

 

Grading:                                           Final Grades:

   Quizzes                               5%                                                                          B+     88-89           C+     78-79           D+     68-69          

   Assignments                      25%                                        A     92-100           B       82-87           C       72-77           D       60-67

   Exam 1                               20%                                        A-    90-91             B-      80-81           C-      70-71

   Exam 2                               20%                                                                                                                                        F        < 60

   Final                                    25%       

   Class Participation           5%

 

                Quizzes will be short, 10 minutes or less, with one or a few questions, given at the beginning of class, typically on Fridays. Latecomers to class will not be given extra time to complete the quiz. Lowest quiz score (or one missed quiz) will be dropped.

                   Assignments will typically be assigned on a Wed., possibly with “pre-lab” preparation work to do, hands on time in the lab on Thur, and “post-lab” work to do, due the following Wed.

   Do your own assignments !!!!  Work that is copied or done with somebody (when not assigned to a group) will be punished. If programs are copied, both students will receive a zero for the assignment. Changing small aspects of a copied program does not make it not a copy. Asking another for help on a step or two in a many-step assignment is acceptable; looking at another person’s program is temptation for cheating; handing in a near duplicate program is cheating

 

   Late Assignments  -25% per weekday (NOTE - NOT per CLASS I want work turned in on time)

      UNLESS SPECIFIED OTHERWISE ASSIGNMENTS ARE DUE AT THE BEGINNING OF CLASS

      -10% if handed in after start of class and before I leave for the day.

 

   Makeup exams only by advance arrangements or for documented real emergencies, such as medical problems. Makeup may involve double-counting your final exam.

 

   The Final Exam is cumulative, though it will focus more on the (previously untested) final third of the course.

 

   Class participation grade will be assigned based on 1) attendance, 2) in class contribution, and 3) “minute papers” turned in at the end of some classes. These minute papers may vary in content, including reflection, questions, etc from class. More details will be given in class. The formula for calculating class participation is available upon request.

 

Materials:  It is very highly recommended that you bring a USB drive for storing work. Most assignments will require you to submit your work to Blackboard Course Management System, and the network (I:\) drive provides convenient storage in lab; however, you may want storage you can carry around with you, along with backup capability.  You should keep copies of all of your assignments at least until you receive your grade for the assignment (and don’t have any questions about it). Missing or destroyed files are not acceptable excuses for incomplete assignments.

 You will need access to Java and the NetBeans development environment outside of class. This is installed on PCs in Olney 200/200A/201. The software can be downloaded for free.  (The book may include a CD with alternative development environments, such as JBuilder. This is not recommended as the development environments do not all store projects files organized in the same way. )

 

Open Lab Location:          Olney 200A is available (small number of computers) irregular hours (most of the day, but not late)

                                                Olney 200 and 201 are occasionally available when not being used for classes.

Wister Building basement lab may or may not have Java and the development environment

 

E-mail: You will need to check La Salle e-mail regularly. Any late-breaking announcements would typically be sent via e-mail instead of being posted to the www or Blackboard. If you send me e-mail from a non-La Salle account (e.g. Yahoo, hotmail, etc), be sure you put either your name or CSC 280 in the subject to ensure that I read it, and make sure that your name is somewhere (subject or body). Assignments and information may also be posted on my WWW page.

 

 

 

 

 

Course Objectives

 

1.       Provide continued experience writing, testing and debugging programs.

2.       Reinforce systematic program development and debugging techniques.

3.       Give a firm foundation in basic Java, through extensive programming.

4.       Emphasize the theory of object-oriented programming, including terminology.

5.       Demonstrate use of built-in data types in Java.

6.       Demonstrate use of classes, an implementation of the concept of abstract data types.

7.       Emphasize encapsulation, data abstraction, and information hiding.

8.       Demonstrate overloading of functions.

9.       Demonstrate Java syntax for basic programming statements including IF-THEN-ELSE, Loops, and Functions.

10.    Demonstrate use of Arrays, including arrays of objects.

11.    Introduce class hierarchies and inheritance.

12.    Introduce true polymorphism.

13.    Emphasize the importance of DOCUMENTED code.

14.    Emphasize the advantages of OOP for code re-use.

                                 

 

 

 


Tentative Course Plan:

 

The course is extremely unlikely to follow this exactly. Attending class is the best way to know adjustments (especially with regard to exams)

 

Estimated

Date

Section

Topic

Days

1/14

 

Intro to Class

1

1/16

1.4

A Taste of Java

1

1/17 (LAB)

 

NetBeans IDE

 

1/18

2.1-2.4

Variable types, strings, assignments, expressions, println

1

1/23

2.5-2.6

Data Conversion, Scanner

1

1/25, 1/28

3.1-3.5

Objects, Libraries

2

1/30

3.6

Formatting Output

1

2/1

3.7

Enumerated Types

1

2/4

3.8

Wrapper Classes

1

2/6, 2/9

4.1-4.4

Creating  a class, data members, methods, encapsulation

2

2/11

4.5

Overloading, constructors

1

2/13

5.1-5.4

If, IF/Else, switch

1

2/15, 2/18

5.5, 5.7, 5.8

While, Do While, For

2

2/20

5.6

Iterators, Reading Text Files

1

2/25, 2/27

6.1, 6.2, 6.4

Designing a class

2

2/29

6.3

Static variables and methods

1

3/10

6.5

Interfaces

1

3/12

6.7, 6.8

Method Design, overloading

1

3/14

6.9

Testing

1

3/17

7.1, 7.2

Array basics

1

3/19

7.3

Arrays of Objects

1

3/26

7.6

2D Arrays

1

3/28

7.7

ArrayLists

1

4/2, 4/4, 4/7

8.1-8.4

Inheritance, Subclasses, class hierarchies, overriding, visibility

3

4/9

8.5

Designing for Inheritance

1

4/11

9.1

Polymorphism and Late Binding

1

4/14

9.2

Polymorphism via inheritance

1

4/16

9.3

Polymorphism via interfaces

1

4/18

9.4

Sorting

1

4/21

9.5

Searching

1

4/23

 

Cloning

1

4/25

 9.6

Designing for Polymorphism

1

2/22,3/31

 

Tests, tentative

2

TBD – between 4/28 and 5/2

 

Final Exam

 

 

MLK Jr HOLIDAY – Jan 21

SPRING BREAK – March 3-7

EASTER  BREAK – March 21-24