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