Syllabus
C++ Programming

C++ Programming

COSC-1320

Spring 2012
01/17/2012 - 05/13/2012

Course Information

Section 018
Distance Learning
ONL RVS
Robert Comer

Office Hours

  • M
    12:00 noon - 4:15 pm
    Riverside Campus Building G Room 9144
  • T
    2:00 pm - 4:15 pm
    Riverside Campus Building G Room 9144
  • W
    12:00 noon - 4:15 pm
    Riverside Campus Building G Room 9144
  • Th
    2:00 pm - 4:15 pm
    Riverside Campus Building G Room 9144

    Or by appointment

COurse description/Rationale

Course Description:  This course is an introduction to the C++ programming language and its subset, the C programming language.  Program structure, block, storage types, console and file I/O, functions, arrays, strings, pointers, call-by-reference, call-by-value, and dynamic memory allocation will be discussed.  The concept and use of classes will be covered in some detail.  The differences between C++ and C will also be discussed. 

 

Pre-requisite:  COSC 1315 or departmental approval

 

Instructional Methodology:  This course will be taught over the Internet. The course material will be covered in reading assignments from the textbook supplemented by some online materials. Students will need to complete programming assignments on their own computer, or they will need to visit one of the CIS open labs. Exams will be administered in the ACC Testing Centers.

 

Course Rationale:  This course is designed to teach students the C++ programming language and introductory and intermediate programming concepts with examples and applications using the C++ language.  The course builds and extends topics covered in the prerequisite course, COSC 1315 and prepares students for more advanced programming courses such as ITSE 2431 (Advanced C++ Programming) and COSC 2415 (Data Structures) as well as for entry level programming employment.  The course is required for an Associate Degree in several Computer Information Systems and Computer Science degree areas.

Student Learning Outcomes/Learning Objectives

Course Objectives/Learning Outcomes:

  1. Demonstrate a thorough understanding of modular programming by designing programs that require the use of programmer-defined functions.
  2. Demonstrate a thorough understanding of arrays by designing and implementing programs that search and sort arrays.
  3. Demonstrate a thorough understanding of the object-oriented programming concepts of encapsulation, data abstraction and composition by designing and implementing classes including the use of overloaded functions and constructors.
  4. Demonstrate a thorough understanding of the concept of pointers and dynamic memory allocation by designing and implementing programs using pointers and dynamic memory allocation.
  5. Demonstrate a thorough understanding of the implementation of programmer-defined functions and classes by writing code, performing unit testing and debugging of multiple complex programs.                                                                
  6. Demonstrate good documentation style in all of the programs written in this course.
  7. Demonstrate proficiency in implementing data validation code, performing unit testing, and developing test plans while implementing robust solutions to the assignments in this course.
  8. Demonstrate a thorough understanding of stream input/output for both console and files.
  9. Demonstrate an understanding of the differences between C and C++ in the areas of strings, pass by reference/passing pointers, and structs by designing and implementing programs that use C strings, C++ strings, C language structs and classes.

 

Scans Competencies:

 

SCANS competencies have been identified that are relevant to the level of instruction in the community college environment.  These competencies reflect the knowledge and skills employees need to succeed in any occupation.  To be successful in this course the following SCANS competencies will need to be applied:

 

  RESOURCES

  1.1 Manages Time

  INTERPERSONAL

 

  INFORMATION

  3.3 Uses Computers to
  Process Information

  SYSTEMS

 

  TECHNOLOGY

  5.2 Applies Technology to
  Task

 

  BASIC SKILLS

  6.3 Arithmetic

  6.5 Listening

  THINKING SKILLS

  7.5 Knowing How to Learn

 

  PERSONAL SKILLS

 

 

Readings

Approved Course Text:  Starting Out with C++ Early Objects, 7th Edition,Gaddis, Walters, Muganda, Addison Wesley, ISBN-13: 9780136077749.

Course Requirements

Grade Policy:

 

Grade will be assigned based both on concepts and practical application. Exams, quizzes, and lab projects will be a part of the grade.  An overall grade will be assigned on the following grading scale.

 

The course grade will be based on 3 semester exams and 9 or 10 programming assignments.

Component Weight

9 or 10 programming assignments

        program 1 @ 1 %

        remaining programs evenly weighted

37 %
3 semester exams @ 21% each 63 %
Total 100 %

Grade Scale:

 

90 %  - 100 %         A

80 %  -  89 %          B

70 %  -  79 %          C

60 %  -  69 %          D

0 %    -  59 %          F

 

A student must score 60% or above to pass the course.

course/class policies

Academic Integrity

A student is expected to complete his or her own projects and tests. Students are responsible for observing the policy on academic integrity as described in the current Student Policies Handbook.

The penalty accessed will be in accordance with the current policy.
 

Incomplete

A student may receive a temporary grade of “I” (Incomplete) at the end of the semester only if ALL of the following conditions are satisfied:

 

  1. The student is unable to complete the course during the semester due to circumstances beyond their control.
  2. The student must have earned at least half of the grade points needed for a “C” by the end of the semester.
  3. The request for the grade must be made in person at the instructor’s office and necessary documents completed.
  4. To remove an “I”, the student must complete the course by two weeks before the end of the following semester.  Failure to do so will result in the grade automatically reverting to an “F”.

Freedom of Expression Policy

 

It is expected that faculty and students will respect the views of others when expressed in classroom discussions.

 

Tutoring

 

Free tutoring is provided for this course. For schedules and details please refer to http:://www.austincc.edu/cit

 

Testing Center Policy

http://www.austincc.edu/testctr/
 

For student information see:

http://www.austincc.edu/testctr/documents/STUDENTGUIDEFORUSEOFACCTESTINGCENTERStemporarybaa_001.pdf

 

Attendance / Withdrawal

 

Students are expected to attend classes and will be held responsible for all material covered in class.  Regular attendance helps ensure satisfactorily progression towards completion of the course. 

 

It is the student’s responsibility to complete a Withdrawal Form in the Admissions Office if they wish to withdraw from this class.  The instructor may withdraw students from this class if their absences exceed 10% of the total number of class meetings.  According to the college calendar, the last day to withdraw for this semester is Monday, April 23.  It is not the responsibility of the instructor to withdraw the students from their class even though the instructor has the prerogative to do so under the above listed circumstances.

 

Students who enroll for the third or subsequent time in a course taken since Fall 2002 are charged a higher tuition rate. State law permits students to withdraw from no more than six courses during their entire undergraduate career at Texas public colleges or universities. With certain exceptions, all course withdrawals automatically count towards this limit. Details regard this policy can be found in the ACC College Catalog.

 

Student Files – Privacy

 

The information that a student stores in his/her student volume in the Computer Studies Labs may be viewed by their instructor for educational and academic reasons.

 

Students with Disabilities

 

Each ACC campus offers support services for students with documented physical or psychological disabilities. Students with disabilities must request reasonable accommodations through the Office for Students with Disabilities on the campus where they expect to take the majority of their classes. Students are encouraged to make this request three weeks before the start of the semester. (Refer to the current ACC Student Policies).

 

Communication

 

Grades will be posted on the ACC Blackboard system:

http://acconline.austincc.edu

Students should use their ACCmail accounts for class communications.

http://www.austincc.edu/accmail/

Course materials including assignments, assignment due dates, exam reviews and exam due dates will be posted on my class web site at:

http://www.austincc.edu/comer/cpp11f/

All students are expected to check the class website, Blackboard and their ACCmail accounts on a regular basis.

For information on how to log onto Blackboard and ACCmail please visit the following sites:

http://irt.austincc.edu/blackboard/StudentSupport.php

http://www.austincc.edu/google/

 

Safety Statement

 

Each student is expected to learn and comply with ACC environmental, health and safety procedures and agree to follow ACC safety policies. Emergency posters and Campus Safety Plans are posted in each classroom. Additional information about safety procedures and how to sign up to be notified in case of an emergency can be found at http://www.austincc.edu/emergency/.

Anyone who thoughtlessly or intentionally jeopardizes the health or safety of another individual will be immediately dismissed from the day’s activity, may be withdrawn from the class, and / or barred from attending future activities.
 

Software

You must have access to a C++ compiler. If you purchase the course textbook new at the ACC Bookstore it will come with a C++ compiler. You may also use the C++ compilers in the Computer Studies labs on any of the 7 main ACC campuses. In addition, the Computer Studies Department has an agreement with Microsoft Corporation that allows students to obtain compilers at a greatly reduced cost. Contact your instructor for more information.

Orientation

Orientation is required. Students who do not complete orientation during the first week of class and do not contact the instructor will be dropped from the class.

Class progress

Students are expected to keep up with the schedule of the class. In this course, each new concept builds on previous concepts so that regular progress through the material is crucial to success on tests and assignments.

Participation

Students are expected to participate in discussions. Questions and comments of general interest should be sent to the class Listserve so that everyone can benefit from the discussion. Other questions, such as questions about your grades, should be sent directly to the instructor. Students are encouraged to ask questions. There are no "dumb" questions! The instructor knows that the material is difficult to grasp at times and will be glad to give additional examples or one-to-one assistance when asked.

Programming Assignments

Success in this course depends on the ability to successfully complete the assigned homework. Students are expected to do the assignments, which are designed to provide experience and practice with the concepts and techniques covered in the course.

Submitting Assignments: Turn in a copy of your program source code by email. The preferred method is to attach your source code file to your email message. If your email does not support attachments, you may copy your source code and paste it into the body of your email message. Assignments should be sent to comer@austincc.edu. Please include the program number in the Subject field (for example: C++ Program 2). If you have questions, please do not include them with your assignment - send them in a separate email. Do not send programming assignments to the class listserve.

Deadlines: Programming assignment due dates will be posted on the course schedule. Programs are due by midnight on the due date. See my policy for late programs below. In addition, all programs except for the last two must be turned in by Sunday, May 6. The last 2 programs must be turned in by Friday,May 11. For emergency situations only, see the section above on Incomplete grades.

Assignment Grading: Assignments will be graded on the following basis:

  • 20 % - Documentation - proper use of variable names, indentation, comments, etc.
  • 80 % - Program operates correctly with instructor input data and performs all required functions

Program documentation involves the proper use of variable names, indention, comments, etc. These conventions are described in the textbook. I will post a summary of these guidelines on my web page. It is very important to make the programs as readable as possible and the instructor will strictly enforce the documentation guidelines for this course.

Please contact me if you have questions about the assignment expectations or grading process.

Exams

The material covered in each chapter of the textbook builds on material covered in previous chapters. For this reason, the second and third exams will include material from previous exams. If a mistake is made related to material covered on a previous exam, points will still be deducted. Exams will cover material from the textbook and supplemental material from the class web site. Topics for each exam will be listed on the Exam Review web pages.

All exams will be administered at an ACC Testing Center. Testing facilities are located at all major campuses and are open throughout the week. Check the current schedule for the testing facility you wish to use. Please allow at least one and a half hours for the exam.

You may bring up to 3 pages (8.5 x 11" maximum) of notes for each exam. You may write on both sides of the page. The notes will be attached to the test and sent to the instructor, so you will want to make a copy before you take the exam. Exams will be graded and students will be notified by email of the items that were missed and the grade received. A student wishing to review and discuss the test with the instructor may do so by scheduling an appointment with the instructor. Exams are not returned to the student.

Deadlines: I will post due dates for exams on the Course Schedule. See my policy for late exams below. In addition, exams 1 & 2 will not be accepted after Sunday, May 6. Exam 3 will be available at all Testing Centers through Wednesday, May 9. Exam 3 will be available at the RVS Testing Center only through Friday, May 11. For emergency situations only, see the section above on Incomplete grades.

Late Policy for Exams and Programming Assignments

There is a one week grace period for programs and a 2 week grace period for exams 1 and 2. During the grace period exams or programs will still be accepted for full credit. After the grace period, a 10% penalty will be deducted. For example, a program due on 2/5 can still be turned in up to a week later (2/12) for full credit. If turned in more than 1 week late, the maximum credit is 90%. Note: the purpose of the grace period is to allow you some flexibility in scheduling your coursework. If you consistently complete assignments after the due date, it will be very difficult for you to complete all the coursework by the end of the semester.Important: all exams and programming assignments are subject to the absolute deadlines posted above. There is no grace period for the final exam and the final programming assignment.

Course Subjects

C++ Programming

Typical Course Schedule

 

Week

Topic

1

Chapter 1 - Introduction to Computers and Programming
Chapter 2 - Introduction to C++
Chapter 3 - Expressions and Interactivity

2

Chapter 4 - Making Decisions (Selection)
Chapter 5 - Looping (Repetition)

3

Chapter 6 - Functions

4

Chapter 7 - Introduction to Classes and Objects

5

Chapter 7 (continued)

6

EXAM 1

7

Chapter 8 - Arrays

8

Chapter 8 (continued)

9

Chapter 9 – Searching, Sorting and Algorithm Analysis

10

Chapter 10 – Pointers

11

EXAM 2

12

Chapter 11 - More about Classes and OOP (selected topics)

13

Chapter 12 - More about Characters, Strings, and the string Class

14

Chapter 13 - Advanced File and I/O Operations

15

Chapter 14 - Recursion (selected topics)

Chapter 17 - Linked Lists (selected topics)

16

Exam 3

 

Note:  The instructor has the prerogative to change the course schedule as required. A more detailed course schedule is available here:

http://www.austincc.edu/comer/cpp12s/schd16w.htm