DEPARTMENT
OF COMPUTER STUDIES
Course Syllabus:
COSC 1320—Introduction to C++
35728– Summer, 2009
Office Telephone: 223-3180
Office: RGC 217
Office Hours:
Tues
5-6 pm
Thurs
11-6 pm
E-mail: rbass@austincc.edu
Home page: www.austincc.edu/RonBass
Course Description:
Introduction to the C++ programming language and its
subset, the C programming language.
Program structure, blocks, storage types, console and file I/O, functions,
arrays, strings, pointers, call-by-reference, call-by-value, and dynamic memory
allocation will be studied. The concept
and coding of classes will be introduced. The differences between C++ and C
will also be covered.
Pre-requisite:
COSC 1315 or department
approval...
Approved Course Text:
Starting
Out with C++ Early Objects, 6th Edition, Gaddis, Walters, Muganda,
Addison Wesley, 2006. (ISBN
0-321-51238-3)
Instructional Methodology:
The course has both lab and lecture
sessions on each class day.
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
Course Objectives/Learning Outcomes:
Students will be exposed
to the following concepts and/or skills at an Introductory concepts level:
The analysis and design of programs based on
requirements and performance considerations; evaluation of various possible
technical solutions; object-oriented design considerations; system integration;
program documentation; program debugging procedures; developing program testing
plans; consideration of program operating environment; use of reusable
software; during the course each student will
1. learn C/C++ Language programming concepts
and techniques;
2. develop the ability to logically plan and
develop programs using top-down design;
3. learn to use object oriented programming and
design.
4. learn to write, test, and debug programs using
C/C++ .
Grade Policy:
Grade
will be based both on concepts and practical application. Examinations, written
and lab assignments will be used to determine the student’s grade. Numerical
scores on exams and assignments will be combined and the resulting score will
provide a letter grade based on the following scale.
Grade Scale:
|
Percentage |
Grade |
|
90 – 100 |
A |
|
80 – 89 |
B |
|
70 – 79 |
C |
|
60 – 69 |
D |
|
0 – 59 |
F |
A student
is expected to complete his or her own projects and tests. Students are
responsible for observing the policy on academic integrity described in the Current
ACC Student Handbook, under “Student Discipline Policy, Section C”.
“Acts
prohibited by the college for which discipline may be administered include
scholastic dishonesty, including but not limited to cheating on an exam or
quiz, plagiarizing, and unauthorized collaboration with another in preparing
outside work. Academic work submitted by students shall be the result of their
own thought, research or self-expression. Academic work is defined as, but not
limited to tests, quizzes, whether taken electronically or on paper; projects,
either individual or group; classroom presentations, and homework”. The
penalty accessed will be in accordance with the current ACC Student Handbook
policy. See http://www.austincc.edu/handbook/policies4.htm
for more information.
A student
may receive a temporary grade of “I” (Incomplete) at the end of the semester
only if
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.
Attendance / Withdrawal
Policy
Students
are expected to attend classes and will be held responsible for all material
covered in class. Regular attendance helps ensure satisfactory progress 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. The last date to withdraw for this semester is shown in the course
schedule. 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.
ALERT: A new state law for new
students states that there can be No
more than six course withdrawals throughout your undergraduate education,
regardless of how many colleges you attend. Students who entered college
before fall 2007 are not affected. Ask a counselor for details.
Students with Disabilities
Policy:
“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 Handbook)”
Course Topics - COSC 1320
Course introduction, C++
program structure, compiling, running, compilation/execution. Overview of C/C++ programming, basic standard
input/output, file input and output
Fundamentals Review: Keywords, variables,
constants, statements, operators, expressions, C++ Boolean expressions;
branching: if/else, switch, repetition (while and for loops)
Pointers
Functions (structured programming using
functions), transfer of control and data, function arguments, function
prototypes. Passing by copy, and by reference; default arguments, an
introduction to pointers, passing by pointers, blocks, scope, static/auto
variables
Arrays, array bounds, generic and array
pointers, array pointers as function arguments,
Two-dimensional arrays
(rectangular arrays and arrays of pointers to arrays). Constant strings, string arrays, string
manipulations, string pointer manipulations
Arrays of strings
An introduction to classes
and objects. Private and public data and functions. Constructors,
Destructors. A discussion of Object-Oriented
Technology. The string class.
An introduction to dynamic storage allocation
Scans
Competencies:
|
|
|
|
|
|
C1 |
Time:
Selects goal-relevant activities, ranks them, allocates time, and prepares
and follows schedules. |
1 |
|
|
C8 |
Uses
computers to process information. |
2 |
|
|
C19 |
Applies
Technology to Task: Understands overall intent and proper procedures for
setup and operation of equipment. |
2 |
|
|
|
|
|
|
|
F3 |
Arithmetic:
Performs basic computations; uses basic numerical concepts such as whole
numbers, etc. |
2 |
|
|
F5 |
Listening:
Receives, attends to, interprets, and responds to verbal messages and other
cues. |
1 |
|
|
F9 |
Problem
Solving: Recognizes problems and devises and implements plan of action. |
2 |
Specific Course Section (33022) Information:
Section Specific Requirements:
1. complete 12 programming assignments;
2. complete the 3 exam reviews in preparation
for the examinations
3. complete 3 examinations;
4. seek assistance and ask questions about
programming assignments, exam reviews or textbook material from the instructor
as necessary;
Section Specific Assignments:
12 programming assignments are required to
complete the course. They are progressive; beginning at an intermediate level
of difficulty and becoming more complex by semester's end. Programs must
produce output before they are considered complete. Programs are to be
completed as part of the preparation for the exams. Each program will have an
assigned due date. Late programs (those submitted after the due date) are
penalized 20%. Programs may not be submitted after the date of the exam for
which they are preparatory. The first 4 programs are preparation for exam 1.
The next four programs are preparation for exam 2. Finally, the last four
programs are preparation for exam 3. Program problem statements are to be found
at the end of each chapter. A list of the programming assignments for this
course is included on a separate handout.
During
the semester, the instructor will give five special assignments. Students must
be present when they are distributed to be eligible to complete them. These
assignments are designed to emphasize the specific elements of the current
topic of study.
Exam
reviews are to be completed before the scheduled exam review session. The
review for the exam will be discussed during the class periods leading up to
the exam. However, on the class day before the examination, specific discussion
of the review will be led by the instructor. Programs are submitted as hard
copy with appropriate hard copies of sample runs. All programs must be
complete, correct and on schedule to receive full credit.
The course grade will be an average of the 3
exams, 5 special assignments, and the 12 programs as shown below. Each
examination will cover about 1/3 of the material taught in the course. Each
examination is scheduled on the course schedule for a specific date. There are no make-up exams. If you are
unable to take an exam on a scheduled date, you must make arrangements with
your instructor to take it in advance at the ACC testing center at Northridge
campus.
Section Grading:
12 Programs @ 2 percent each
5 Special Assignments @ 2 percent each
3 Exams @ 22 percent each
Total = 100 percent
Section Schedule (9-week
session)
|
Week |
Chapter |
Topics |
|
1 |
1-5 |
Review of C++ Fundamentals |
|
2 |
6 |
Functions |
|
3 |
7 |
Intro. to Classes and
Objects |
|
3 |
|
Exam 1 |
|
4-5 |
8-9 |
Arrays |
|
6 |
10 |
Pointers |
|
6 |
|
Exam 2 |
|
7 |
11 |
Adv. Classes and Objects |
|
8 |
12 |
Chars, Cstrings, &
Strings |
|
9 |
13 |
Advanced File
and I/O |
|
9 |
|
Exam 3 |
The
exams and programming assignments* due dates for the Summer Semester (2009) are:
|
Prog. # |
Due |
From
Textbook* |
|
|
Date |
Problem #
5th/6th |
Pages 5th/6th |
|
|
1 |
6/04 |
7 / 13 |
387/376 |
|
2 |
6/9 |
1&2 / 1&2 |
471/463 |
|
3 |
6/11 |
6 / 7 |
473/465 |
|
4 |
6/16 |
10/ 12 |
474/467 |
|
EXAM 1 |
6/18 |
|
|
|
5 |
6/23 |
12 / 13 |
563-564/554-555 |
|
6 |
6/30 |
2&3 / 2&3 |
604/594-595 |
|
7 |
7/02 |
1&2 / 1&2 |
655/649 |
|
8 |
7/7 |
7 / 7 |
656/650 |
|
EXAM 2 |
7/9 |
|
|
|
9 |
7/16 |
2&3 / 2&3 |
757/740 |
|
10 |
7/21 |
7 / 7 |
758-759/741 |
|
11 |
7/23 |
10 / 13 |
819/801-802 |
|
12 |
7/28 |
11 / 11 |
886/867 |
|
EXAM 3 |
7/30 |
|
|
*
Note: This table reflects the assignment
# and page numbers for both the 5th and 6th editions of
the textbook.