CS 160: Introduction to Software Design and
               Implementation

Course Description

The first two weeks of the course will be devoted to assessing the overall background of the class and reviewing of the programming concepts and techniques learned in CS 150.  After this introductory period, topics listed in the Topics section below will be covered using lectures, labs, and hands-on exercises.  During the class you are encouraged to bring up questions and participate in discussions throughout the semester. In the last part of the course, you will work with partners on a couple of programming projects.

Course Objectives

At the conclusion of the CS160 course students will demonstrate their ability to:

Return to: [Top of Page] 

Instructor

Bro. Robert K. Maruyama, S.M.
email: [email protected]
office: Kieffer 14
tel: 739-4605

Text Book

Starting out with C++ Early Objects (7th edition), Tony Gaddis, et al. ISBN-13: 978 0-13-607774-9

Topics

The following topics will be covered in this course.

1.      Review of arrays

2.      Searching and Sorting

3.      Analysis of Algorithms

4.      Pointers

5.      Classes and Object-oriented Programming

6.      Characters, Strings, and string Class

7.      File and I/O operations

8.      Recursion

9.      Polymorphism and Virtual Functions

10.  Exceptions

Requirements

The following are class requirements. Refer to the section on a href="#grading">Grading for further details.

·         Quizzes

·         Tests

·         Programming Assignments (in Lab class)

·         Project Assignments (PA)

·         Class Attendance

·         Final Exam

Return to: [Top of Page]

Lab Exercises

The main goals in this class is to understand how programs are designed and become proficient in implemented them. The best way for you to achieve these goals is to write  programs while studying examples of well written code. You will be responsible for 10 to 13 programming assignments which are to be completed in the accompanying lab class. They will be based on the examples explained in the class. The deadline for each assignment, which will be available from the class Schedule page on the Web, will be due at the end of the week in which it is assigned.  The details for the deadline and submission of the assignments will be announced in the class.

Late Submissions

Any exercise or project turned in after the deadline is considered late. Assignments which are late will incur penalties at the following rates.

Thus, a 10-pt project which is late by 1 day may receive a maximum of 7 pts; a 20-pt lab, a maximum of 14 pts. It is always better to submit a late assignment, no matter how late.

If you foresee a valid reason that could cause you to turn in your assignments late--e.g., TDY, special work assignments, hospitalization, etc.--you must get permission for special arrangements before the programming assignment is due.

Test

There are a number of tests scheduled for the term, in addition to the final exam. Their dates are indicated in the Class Schedule. (The format for the final exam will be announced later in the term.) In general, there will be no make-up tests or quizzes. Special cases will be considered when there are valid reasons, but arrangements must be made before the test or quiz dates.

Return to: [Top of Page]

USB Flash Drive

All work in the class using the computer needs to be saved on a USB flash drive (thumb drive, pen drive, etc.).  You will need a dedicated USB drive for the class.

Eating and Drinking in the Classroom

As a general rule on campus, eating and drinking in the classroom are not allowed, especially in the computer labs.

Academic Honesty

The University Student Handbook defines plagiarism as follows: "Plagiarism is the offering of another as one's own. Plagiarism is a serious offense and may include, but is not limited to, the following:

    1. Complete or partial copying directly from a published or unpublished source without proper acknowledgement to the author. Minor changes in wording or ayntax are not sufficient to avoid charges of plagiarism. Proper acknowledgment of the source of a text is always mandatory.
    2. Paraphrasing the work of another without proper author acknowledgment.
    3. Submitting as one's own original work (however freely given or purchased) the original exam, research paper, manuscript, report, computer file, or other assignment that has been prepared by another individual."

Each student is expected to complete his or her own assignments.  Although modern work environments require extensive teamwork, one of the main goals in this class is that each student learn the basic skills in computer usage through individual practicing. You are encouraged to consult each other in your class work.  But you must distinguish between consulting your friends and discussing problems with them from copying other people's work.

Whatever you submit for grading must be your own work.  The penalty for copying in tests, project assignments, or lab exercises is, for the first offense, a grade of 0 for all parties involved; for the second offense, an F for the course. 

Attendance

Regular class attendance is important since you are responsible for all materials covered in the class. Attendance will be taken at all class sessions. Generally speaking, there will be no make-up tests or quizzes, except in cases of excused absences for which prior arrangements are required . Be sure to inform the instructor when you foresee that you cannot be present for a scheduled test. A missed test  receives a grade of 0.

Return to: [Top of Page]

Grading

The semester grade will be based on the following elements of your course responsibilities: (Points in various categories and total points are subject to change.) 

Quizzes 5 x 14 = 70
Tests 100 x 2 = 200
Lab Exercises 20 x 13 = 260
Attendance 50
Finals 100
Total *680

*These numbers may change depending on various circumstances.

The following guidelines will be used in determining the final grades.
A: >= 90%; B: >= 80%; C: >= 70%; D: >= 60%; F: < 60%

Return to: [Top of Page]

Getting Help

For "quick" questions the email is the simplest way to contact me. Feel free to drop in at my office during office hours or to set up an appointments outside those hours. It would be better to let me know when you are coming to insure that I will be in my office when you come.

Return to: [Top of Page]