Course Expectations and Tentative Syllabus

CSC:280                                             Object Programming                                    Spring 2009

 

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

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

 

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

                                330 Olney Hall   (215) 951-1096                                                                     R  10:00-12:15am             

                                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, Sixth Edition, Pearson / Addison-Wesley, 2008  ISBN: 0-321-53205-8

 

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

   Lab Final                            10%

   Final                                    15%       

   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.or Thur, possibly with “pre-lab” preparation work to do, hands on time in the lab on Thur, and “post-lab” work to do, due  AT THE START OF LAB the following Thur. Some weeks may be different.

·         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  -20% per class late – BUT, not accepted more than 2 classes late.

      UNLESS SPECIFIED OTHERWISE ASSIGNMENTS ARE DUE AT THE BEGINNING OF CLASS

      -10% if handed in after start of class and before midnight.

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

·         Lab Final will be held on the last Thursday lab of the semester (Apr 30). It will be a cumulative test involving writing / modifying code in the lab on the computer

·         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 methods.

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/21

 

Intro to Class

1

1/22 (LAB)

 

NetBeans IDE

 

1/23, 1/26

1.4, 1.5

A Taste of Java

2

1/28, 1/30

2.1-2.4

Variable types, strings, assignments, expressions, println

2

2/2

2.5-2.6

Data Conversion, Scanner

1

2/4, 2/6

3.1-3.5, 3.6

Objects, Libraries, Formatting Output

2

2/9

3.7

Enumerated Types

1

2/11

3.8

Wrapper Classes

1

2/13, 2/16

4.1-4.4

Creating  a class, data members, methods, encapsulation

2

2/18

4.5

Overloading, constructors

1

2/20, 2/23, 2/25

5.1-5.4

If, IF/Else, switch

3

2/27, 3/2, 3/4

5.5, 5.7, 5.8

While, Do While, For

3

3/6

5.6

Iterators, Reading Text Files

1

3/16, 3/18

6.1, 6.2, 6.4, 6.3

Designing a class, Static variables and methods

2

3/20

6.5

Interfaces

1

3/23, 3/25

6.7, 6.8

Method Design, overloading

2

3/27

7.1, 7.2

Array basics

1

3/30

7.3

Arrays of Objects

1

4/1

7.6

2D Arrays

1

4/3

7.7

ArrayLists

1

4/8, 4/15

8.1-8.4

Inheritance, Subclasses, class hierarchies, overriding, visibility

2

4/17

8.5

Designing for Inheritance

1

4/20

9.1

Polymorphism and Late Binding

1

4/22

9.2

Polymorphism via inheritance

1

4/24

9.3

Polymorphism via interfaces

1

4/27

9.4

Sorting, Searching

1

4/29

 

Cloning

1

5/1

 9.6

Designing for Polymorphism

1

2/27,4/6

 

Tests, tentative

2

TBD – between 5/4 and 5/8

 

Final Exam

 

 

MLK Jr HOLIDAY – Jan 19

SPRING BREAK – March 9-13

EASTER  BREAK – Apr 10-13