Text |
Deitel and Deitel; How to Program in CISBN 0-13-089572-5. Prentice Hall.
|
Course Goals |
The goal of CIS 303 is to impart C Programming literacy to enhance a graduates
ability to succeed in the business world.
Many students find C/C++ programming (or programming in general) overwhelming and imagine that it is beyond their reach. Learning the basics of a programming language, however, does not require advanced mathematics or a detailed understanding of computer electronics. What matters in programming is whether you can progress from the statement of the problem to its solution. To do so, you must be able to think logically. You must have the necessary discipline to express your logic in a form that the computer can understand. Most importantly, you must be able to see the task through to its completion without getting discouraged by difficulties and setbacks.
CIS 303 is designed to familiarize students with the fundamentals of programming and the basics of C and C++, which is the dominant programming language in the computing industry today. The goal is to treat the whysof programming as well as the hows,to give you a feel for the programming process as a whole. Finally, the course is designed to flow from the procedural programming language "C" into the world of object-oriented programming expressed in "C++".
|
Learning objectives |
Students performing well in CIS 303 should be able to:
- Write clear, elementary C/C++ programs
- Understand algorithmic thinking and apply it to programming
- Understand problem-solving techniques
- Read, write, and debug substantial C/C++ programs
- Write programs using structured programming techniques
- Program C/C++ input and output using the appropriate libraries including simple formatting
- Code with C/C++ arithmetic, increment, decrement, assignment, relational, equality, and logical operators
- Code C/C++ control structures (if, if/else, switch, while, do/while, for) and use built-in data types
- Use standard library functions
- Write user-defined function definitions
- Understand and manipulate arrays
- Understand Objects, Classes and Data Abstraction
No special technology skills other than basic computer literacy (using a computer, word
processing, etc.) is required.
|
Grading |
Your grade is determined by the following factors:
|
Quizes | 20% |
| Midterm | 20% |
| Final | 25% |
| Homework Assignments | 10% |
| Project (Programming Project) | 20% |
| Class Participation | 5% |
The grading scale will be:
| A | Above 90% |
| B | Between 90% and 80% |
| C | Between 80% and 65% |
| D | Between 65% and 55% |
| F | Below 55% |
A course outline can be found here.
Programming style guidlines can be found here.
The program grading criteria can be found here.
Attendance and Participation. Regular class attendance, conscientious daily study and preparation,
and completion of assignments are essential for satisfying the course objectives.
Exams. Exams can not be made up unless the absences result from extreme circumstance.
Assignments. Assignments are to be turned in at the beginning of class on the day they are due,
unless announced otherwise. There will be a late penalty assessed of 10% per class period that each assignment is late. Assignments that are late for more than 4 class periods will not be accepted.
The instructor reserves the right to retain for pedagogical reasons either the original, or a copy, of any student's test, written assignment, paper, disk, video, or similar work submitted by the student, either individually or as a group project, for this class. Student's names will be deleted from any retained items.
Academic Dishonesty. Golden Gate University requires that students be honest in their academic work. Academic dishonesty is viewed as an ethical issue and violation of the principles expressed in the university's academic regulations. Academic dishonesty, identification and reporting procedures, academic and administrative sanctions and appeal procedures are outlined in detail in the student handbook and are available from the Division of Student Affairs.
|