CS 150: Introduction to Programming

Course Description

Through a combination of lectures, demonstrations, lab activities, and project assignments, this course will cover the basic concepts and techniques of algorithm development and programming. C++ will be used as the programming language. The course is the first of a series of core courses required for a major or a minor in Computer Science and Computer Information Systems at Chaminade University. Although there are no specific programming  prerequisites for the course, a familiarity with the use of the personal computer running under the Windows environment is assumed.


Course Objectives

The course is intended to help the students to:


Instructor

Bro. Robert K. Maruyama, S.M.
email: [email protected]
phone: (808) 739-4605

Text Book

Introduction to Programming with C++ Brief Version , by Y. Daniel Liang, Prentice Hall, 2007. ISBN 0-13-232049-5

Return to Top


Topics

Topics covered in this course will include the following:

Return to Top

Requirements

The following is a summary of what is expected of you for the course. Refer to the section on Grading for further details.

Class attendance is important, since main points of the course will be highlighted and details and examples will be demonstrated in the class. Readings will provide you with further explanations on the concepts and techniques covered in the class. Exercises will help you to reinforce key ideas covered in the class and to prepare you for tests. (Many of the test questions will be based on such Exercise questions). Since you learn by doing, project assignments will be the most important element among your responsibilities in the course.

Return to Top


Project Assignments (PAs)

Around ten project assignments are scheduled for the semester. These are programming assignments which are expected to complete outside the class. The schedule for project assignments are indicated in the class Schedule. Generally speaking, you will have about a week to finish your PAs.  Get in the habit of starting early on your assignments. Late assignments will be assessed a penalty.

Generally speaking, an assignment that is submitted past the deadline (up to one week) will be given at most 70% of the regular credit. Any assignment which is submitted late by more than one week will be given at most 50% of the regular credit. (For assignments that are turned in very late, a minimum value will be entered in the database to distinguish them  from those that are not turned in at all.)  The procedure for submitting assignments will be announced in the class.

If you have difficulty with your programs, get help immediately so that you can stay on top of your assignments. When you are seeking help from the instructor in debugging your programs, always accompany your questions with a hardcopy of your program listing or a copy of your algorithm written in pseudocode.

You are expected to spend extra time beyond the class time on your project assignments. Check for posted computer lab hours in H124. Be conscientious in completing your assignments, since they are indispensable to learning algorithm development and programming. 

Return to Top


Tests

Four tests, in addition to the final exam, are scheduled for the semester. Their dates are indicated in the course Schedule. These tests will cover concepts and programs covered in the class and in project assignments. In general, there will be no make-up quizzes and tests. Special cases will be considered when there are valid reasons, but arrangements must be made before the scheduled test dates.

Return to Top


Submitting One's Own Work

Each student is expected to write his or her own programs that are to be submitted as project assignments. Although modern programming practices require extensive teamwork, one of the main goals in this class is that each student learn the basic programming skills by practicing individually. You must distinguish between consulting your friends or discussing problems with them from copying other people's work. Even if you "work together," each submission must be your own and be different from a work by another student. The penalty for copying in tests, quizzes, and project assignments 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, and it will be considered as part of your final grade.  If you need to be absent from a class, you should let the instructor know so that he can help you in catching up.  Generally speaking, there will be no make-up tests. Make-up tests will be considered, with prior arrangements, only for excused absences because of serious reasons. Be sure to inform the instructor when you foresee that you must miss a test. A missed test due to an unexcused absence receives a score of 0.

Return to Top


Grading

The semester grade will be based on the following elements of your course responsibilities.  

    Tests:                   60 x  (4) = 240
    Project Assignments:     25 x (10) = 250*     Lab:                  10 x (10) = 100**     Class Participation (attendance):     50***
    Final Exam:                          100
   
-----------------------------------------
    Total:                               740**

* A minimum of 7 completed assignments is a necessary condition for a passing grade.

** The total is subject to change depending on the number of quizzes.

*** This number may change slightly.

 The following guidelines will be used in determining the final grades.

         A: >=90; B: >= 80; C: >= 70; D: >= 60; F: < 60

Test dates are indicated in the Schedule page .

Return to Top


Criteria for Project Assignments

Generally speaking, for each programming assignment submit:

  • hardcopy of the source code 
  • image of the program interface

An exception is PA No. 1, which requires only the interface. How to produce the hard copy and an image of the interface will be explained in the class. If there are more than one problem involved, submit a hardcopy and a screen image for each program. The grade for each assignment will be based on the correctness and completeness of both the interface and the code.

Your projects will be evaluated on the following points.

  • Correctness--does it work as advertised?
  • Completeness--does it satisfy all requirements in the problem description?
  • Understandability--is the code easy to understand and is written in the simplest way possible?
  • Interface--is the interface orderly, attractive, and easy to understand?

Check the following points in your code.

  • Include documentation--a) name, b) PA number, and c) date.
  • Include summary description of program.
  • Insert the Option Explicit statement (declare all variables).
  • Indent the body of subprograms and functions.
  • Indent the body f decision and loop structures.
  • Insert a comment before a major section in the code and a blank line after it.
  • Insert a space before and after each operator; e.g., c = a + b, not c=a+b.
  • Begin each variable name in lowercase; each procedure name in uppercase.
  • Each function and subprogram should be logically simple; e.g., a procedure that inputs data should not also calculate.
  • All interface objects should have user-defined names instead of default names--e.g., txtName.

Return to Top


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