Course Expectations and Tentative Syllabus

 

CSC:157                                             Computing and Problem Solving                               Spring 2002

 

Section 01                Meets:                  MW  2:00-2:50pm   Room: 221 Olney Hall

Thur  2:00-2:50pm   Room: 109 Olney Hall          

Lab Fri 2:00-3:50pm   Room Olney 201

 

Professor:         Dr Redmond                                                          Office Hours: MW 12:00 noon-12:50pm

                                330 Olney Hall   (215) 951-1096                                                                          MWTh  3:00-4:00pm             

                                redmond@lasalle.edu                                                                                          And at other times by appointment

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

 

Text:

Savitch, W., Java, An Introduction to Computer Science and Programming, Second Edition, Prentice-Hall, 2001 ISBN: 0-13-0316970

 

Course Description:

This course is the introductory computer science course, primarily for computer science, information technology, mathematics, and science majors, also taken by education majors. Not to be confused with an introduction to using computers (136/151/152), this course places a heavy emphasis on learning to write computer programs. It introduces the major types of programming constructs that are common to most languages. It emphasizes proper 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 Friday. Your regular attendance is expected, as with other class meetings.

 

Co-requisite: You must have taken, or currently be taking, a one semester course of college mathematics.

Prerequisite: You must be competent in basic operation of a computer, (which can be demonstrated by successful completion of CSC 136, 151 or 152 OR by passing the competency test administered by the department during DAY ONE).

 

Grading:                                            Final Grades:

   Assignments     30%                                                                                         B+     88-89             C+     78-79             D+     68-69           

   Exam 1                 20%                                                        A     92-100            B       82-87             C       72-77             D       60-67

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

   Final                    30%                                                                                                                                                        F        < 60

 

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

   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)

      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.

 

Materials:  You will need at least 2 diskettes. Generally assignments will be handed in on diskettes and a new assignment will be started on the next day - before the previous assignment is graded. You will need access to Java and Sun’s Forte development environment outside of class. This is installed on PCs in labs in Wister building and in Olney 200/200A/201. The software can be downloaded for free from Sun. It may be possible to check out CDs for installation on your own PC as well. (The book may include a CD with alternative development environments, such as Jbuilder. This is not recommended unless you are VERY COMFORTABLE with learning software ON YOUR OWN).

 

Open Lab Location:             Wister Building basement lab is available (hours to be determined – in a previous semester  8:30am-11pm)

                                                Olney 200 is occasionally available as an open lab

 

E-mail: You will need to check e-mail regularly. Assignments and information may also be posted on my WWW page.

 

 

 

 

 

Course Objectives

 

0. Introduce basic computer concepts and terminology.

 

1. Teach systematic program development and debugging techniques.

 

2. Demonstrate basic programming statements including IF-THEN-ELSE, Loops, Subroutines.

 

3. Demonstrate use of built-in data types including Arrays

 

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

 

5. Demonstrate use of character and string handling, input and output formatting, and file processing.

 

6. Emphasize the importance of DOCUMENTED code.

 

7. Demonstrate the creation of simple applets that can be viewed from www pages.

 

8. Provide experience writing, testing and debugging programs.

 

                                

 

 

 


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.1

Computer Basics

1

1/17

1.3

Designing Programs

1

1/23

1.4

A Taste of Java

1

1/24

1.4

Preview of Applets

1

1/28

2.1

Variable types, assignments, Simple I/O, type casting, arithmetic, parens, increment, decrement

1

1/30

2.2

Strings

1

1/31

2.3

Keyboard and screen I/O

½

1/31

2.4

Documentation and Style

½

2/4

2.5

JoptionPane – GUI

1

2/6, 2/7

3.1

If, IF/Else

2

2/11

3.1

Switch

1

2/13, 2/14

3.2

While

2

2/20

3.2

Do While

½

2/20, 2/21

3.2

For

1

2/21

3.2

Choosing Loops

½

2/25

3.2

Break, Exit

½

2/25, 2/27

3.3

Programming with Loops (including pseudo code)

1

2/27

3.3

Nested Loops

½

2/28

3.4

Boolean Variables

½

2/28,3/11, 3/13

4.1

Classes – the idea, separate files and compilation, instance vars, methods, local vars, return types, this, basic parameters

2

3/14

4.2

Info hiding and encapsulation

1

3/18

4.3

Objects and references

1

3/20

5.1

Programming with methods

1

3/21

5.3

Designing Methods

1

3/25

5.5

Constructors

1

3/27

5.6

Info Hiding Revisited

½

4/3

6.1

Array Basics

1

4/4, 4/8

7.1

Inheritance Basics

2

4/10

7.2

Programming with Inheritance

1

4/11

6.2

Arrays in classes and methods

1

4/15

6.3

Programming with arrays and classes (searching)

1

4/17

6.4

Sorting (Selection Sort)

1

4/18

6.5

Multi-dimensional Arrays

½

4/18, 4/22, 4/24

12.1

GUI Background, Basic Swing Details

2

4/24, 4/25

12.5

Text I/O for GUIs

1

4/25

13.1

Applets and HTML

½

?

13.2

Applets

1

2/18,3/28

 

Tests

2

TBD – between 4/29 and 5/3

 

Final Exam

 

 

MLK Jr HOLIDAY – Jan 21

SPRING BREAK – March 4-8

EASTER  BREAK – March 29-April 1