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