Course Expectations and Tentative
Syllabus
CSC:157 Computing and Problem Solving Spring 2001
Section 01 Room: 207 Olney Hall Time: MWF 11:00-11:50am, Lab Th 9:00-10:50am Olney 201
Professor:
Dr Redmond Office Hours: MWF 10:00-10:50am
330 Olney Hall (215) 951-1096 Th 11:00am-noon, 2:00-4:00pm
redmond@lasalle.edu
And
at other times by appointment
http://www.lasalle.edu/~redmond
Text:
Deitel,
H.M., and Deitel, P.J., C, How to Program, Third Edition, Prentice-Hall, 2000
ISBN: 0-13-0895725
Course Description:
This
course is the introductory computer science course, primarily for computer
science, 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 C programming language, which is popular in the marketplace due
to its speed and flexibility.
An
important part of the class is the two-hour lab each Thursday. 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).
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 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.
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. Microsoft Visual Studio software is
available in campus labs.
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 user-defined types including structures.
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 use of dynamic storage and pointers for creating linked lists,
providing a foundation for Data Structures (CSC 162) and systems programming.
8. Provide
experience writing, testing and debugging programs.
Tentative
Course Plan:
Date Material Reading
---- -------- -------------
Jan 17 Intro
to Class
Jan 18
LAB: Compiling, E-mail
Jan 19 Intro
to Computing, Computers, Programming Chapt 1
Jan 22 Intro to Computing,
Computers, Programming
Jan 24 Writing basic programs in
C Chapt 2
Jan 25
LAB: Simple Calcs
Jan 26 Structured Program
Development Sections 3.1-3.3
Jan 29 IF Selection Structure
Sections 3.4-3.6
Jan 31 IF/Else
Selection Structure
Feb 1
LAB: IFs
Feb 2 WHILE Repetition Structure
Section 3.7
Feb 5 WHILE Repetition Structure
Section 3.8, 3.9
Feb 7 Nested Structures
Section 3.10
Feb 8
LAB WHILEs
Feb 9 Formulating Algorithms
Sections 3.8-3.10
Feb 12 C Assignment, Increment,
Decrement
Sections 3.11, 3.12
Feb 14 FOR Repetition Structure Sections
4.1-4.4
Feb 15
LAB Test Cases
Feb 16 FOR Repetition Structure Sections 4.5,4.6
Feb 19 TEST 1
Feb 21 TBD
Feb 22
LAB TBD
Feb 23 TBD
Feb 26 DO/WHILE Repetition
Structure
Section 4.8
Feb 28 SWITCH/CASE Selection
Structure Section 4.7
Mar 1
LAB TBD Switch?
Mar 2 Logical Operators,
Structured Programming Sections
4.10-4.12
Mar 5 Introduction to Functions Sections 5.1-5.5
Mar 7 Functions
Sections 5.6,5.7
Mar 8
LAB Using Functions
Mar 9 Using Functions
Sections 5.9-5.10
Mar 12 SPRING BREAK NO CLASS
Mar 14 SPRING BREAK NO CLASS
Mar 15 SPRING BREAK NO CLASS
Mar 16 SPRING BREAK NO CLASS
Mar 19 Recursion
Sections 5.13,5.14
Mar 21 Arrays
Sections 6.1-6.4
Mar 22
LAB Writing Functions
Mar 23 Passing Arrays to Functions,
Searching Section 6.5,6.8
Mar 26 Sorting Arrays
Section 6.6
Mar 28 Multi-Dimensional Arrays Section 6.9
Mar 29
LAB Arrays
Mar 30 Parallel Arrays
Apr 2 TEST 2
Apr 4 Introduction to Pointers Sections 7.1-7.3
Apr 5
LAB Searching/ Sorting
Apr 6 Calling Functions by
Reference Section 7.4
Apr 9 Characters and Strings
Sections 8.1-8.4
Apr 11 String I/O, String Handling Sections
8.5-8.10
Apr 12
LAB Parallel Arrays and Strings
Apr 13 EASTER BREAK NO CLASS
Apr 16 EASTER BREAK NO CLASS
Apr 18 Structures Sections
10.1-10.4
Apr 19
LAB Debugging Microsoft Visual
Debugger
Apr 20 Structures Sections
10.5-10.7
Apr 23 Pointers and Dynamic Memory
Allocation Sections
12.1-12.3
Apr 25 Linked Lists
Section 12.4
Apr 26 LAB TBD Structures? Reference Params?
Apr 27 Linked Lists
Section 12.4
Apr 30 File Processing
Sections 11.1-11.3
Final Exam:
TBD between 5/2 and 5/8