AUSTIN COMMUNITY COLLEGE

DEPARTMENT OF COMPUTER STUDIES AND ADVANCED TECHNOLOGY

Master Course Syllabus:  ITSE 2431 – Advanced C++ (Distance)

Spring 2009

Synonym Numbers: 30670

Instructor:  Dr. Ron Bass         

Office Telephone:  (512)223-3180         

Office:  Rio Grande 217

Office Hours:  See Dr. Bass’ Web Page:  www.austincc.edu/RonBass

E-mail:  rbass@austincc.edu    

 

Course Description:    Further application of C++ programming techniques including subjects such as file access, abstract data structures, class inheritance, and other advanced techniques. The following C++ programming topics are covered: classes, objects, function and operator overloading, inheritance and dynamic polymorphism, templates, exception handling, standard template library, data structures, complex input/output standard and file handling techniques, program documentation, bit manipulation and other advanced C++ techniques.

 

Pre-requisite:  COSC 1315 and COSC 1320 or department approval. This is an advanced course and presumes extensive student background in programming in C++.  It also presumes sufficient student maturity to study, program, and prepare for exams in a time restricted environment. Catalog of ACC Course Descriptions

 

Approved Course Text:  C++ - How to Program C++, Fifth Edition, by Deitel & Deitel,

                        Prentice Hall, 2005, ISBN 0-13-185757-6 (Available at the ACC Bookstore)

 

Instructional Methodology: The course has assignments and examinations appropriate for a four semester hour credit course meeting for 3 hours of lab and 3 hours of lecture per week for a sixteen week semester.

This course uses the Black Board course management system.  All assignments, programs, and exam reviews will be made available on this site.  It may be found at the URL:  acconline.austincc.edu   All students will have a login id for this site.  The login id is the ACC student number which appears on the student id or registration receipt.  The password is the same as that for student on-line services.   Please see the instructions for logging in to Blackboard.   Example programs, appropriate technical notes, assignments, relevant web sites, and other course material are available on this system.

Students will need a personal computer with internet access and a browser to access the Black Board site.  Students may use the labs at any of the major campuses for accessing Black Board as well.  Each student must have a valid internet email address and provide it to the instructor, so, that the instructor may communicate with him/her.

Course Rationale:  This course is designed to teach students advanced C++ constructs and the usage of the object oriented methodology for coding complex C++ programs.

Course Objectives/ Learning Outcomes:

             

         A.  Develop and implement correct and efficient programs using the C++ language.

               

         B.  Define, compare, and contrast the fundamental concepts of object-oriented programming: data abstraction, encapsulation, inheritance, and polymorphism.

               

         C. Design algorithms according to object-oriented concepts.

               

         D. Design and develop classes which implement the concepts of data abstraction, encapsulation, inheritance, and polymorphism.

               

Design and develop programs implementing data structures utilizing the STL.

 

Additional requirements

A. Students are expected to take exams before or on the scheduled deadline.  A late testing period is provided for exams 1 and 2.  Exams taken during the late period will be penalized 20%.

 B. Students are expected to submit program assignments when scheduled. Late programs will be assessed a 20% penalty.

Course Schedule:

           

 

Week

Topic/Chapter

1

Online Course Orientation

2

Pointers and Strings, Chapter 8 

3

Classes, Part I, Chapter 9

4

Classes Part II, Chapter 10

5

Operator Overloading, Chapter 11

6

Review for Exam I

6

Exam 1

7

Inheritance, Chapter 12

8

Polymorphism, Chapter 13

9

Templates, Chapter 14

10

Stream I/O, Chapter 15

10

Exception Handling, Chapter 16

11

Review for Exam 2

11

Exam 2

12

File Processing, Chapter 17

12

String Class, Chapter 18

13

Data Structures, Chapter 21

13

Bit Manipulation, Chapter 22

14

Standard Template Library, Chapter 23

15-16

Exam 3

 

 

 

Testing Center Policy

 

Read the Student Guide: Use of the Testing Center at the following URL: http://www.austincc.edu/testctr/

 

Course Requirements:

 

            Exams – 3 exams will be given, each covering about 1/3 of the course material.

 

Exam 1 – Pointers, cstrings, classes, and overloading. 

 

Exam 2 – Inheritance, polymorphism, templates, stream i/o, and exception handling.

 

Exam 3 – Data structures, file processing, string class, bit manipulation, and standard template library.

 

Distance Learning Students - Exams are to be taken in the ACC testing centers on any of the major campuses:  Northridge, Rio Grande, Riverside, Pinnacle, Cypress Creek, South Austin or Eastview.  Each exam has a deadline for completion.  A late testing period with a 20% penalty is available for exams 1 and 2.  Books are not permitted in the testing centers.  However, you are allowed to take two pages of notes.  You will need blank paper and several pencils as each exam will involve drafting a program in hand written form.

 

 

  1. Read the Student Guide To Use Of The Testing Center at the following URL: http://www2.austincc.edu/testctr/
  1. Be sure to follow the Testing Center guidelines.

You will need to bring your ACC ID card with you to the testing center.  If you did not receive your ACC student ID and need to take the test, then:
1) get one copy of your fee receipt from the Bursar’s Office and bring it to the testing center.
PLUS
2) bring a picture ID (driver’s license).

YOU MUST COMPLETE EXAMS BY THE DEADLINE DATE AS SHOWN IN THE COURSE SCHEDULE.

If you take either Exam 1 or Exam 2 after the deadline, then Dr. Bass will deduct 20% of your grade from the each exam grade as appropriate.

Exam 3

Exam 3’s format is to be completed as a programming project.  It is to be submitted in the same manner as a programming assignment. 

YOU MUST COMPLETE EXAM 3 BY THE DEADLINE DATE.

If you do not complete Exam 3 on this date, then Dr. Bass will assign a grade of zero (0%).  There are no makeup exams.

Exam Property

The exams you take in this course are the property of Dr. Bass.  He uses the exams to evaluate your performance.  After you complete each exam, the Testing Center will forward the exam to Dr. Bass for grading.  You will be notified of your score via email and posting on Blackboard.  Dr. Bass will keep your exam on file.  If you would like to view the exam, then you may come to his office during his office hours.

 

 

Exam reviews are available on the course Black Board web site.  The exam reviews will contain questions which are very similar to those to be asked on the exams.

 

Programming Assignments:

9 programming problems will be assigned during the course.  They are to be completed by the student and copies sent to the instructor for grading.  See the assignments link on the course Blackboard website.Assignments are to be submitted as attachments to an email sent to the instructor at rbass@austincc.edu.  The attachments are to include the source files and result/output files.  Each attachment is to be documented adequately and must contain the student name and a description of which assignment it pertains to.  The instructor will not  compile and test your program.  As a result, you must attach as many files showing program output as necessary to demonstrate that the program works correctly.   In some cases you may wish to attach an executable version of the program.  Showing that the program works correctly is the responsibility of the student and may require numerous attachments. The instructor will not attempt to debug any program that does not work correctly or produce the correct output when submitted for grading.  If assistance is needed in debugging during program development, the student must bring the source code to the instructor’s office and participate in the debugging activity with him.  Since compilers and systems vary in potentially significant ways and student programming styles are widely varied, it is not possible for the instructor to debug source code sent to him as an email attachment.

 

Study of Course Material

 

Students must study the following chapters in the textbookChapters 5-15, 17, and 21.  While the programming assignments are representative of course material, they are not comprehensive.  As a result, additional study of the course material other than that associated with programming problems is required.  The following study activities are suggested as preparation for the exams.

Self-Review Exercises 8.1-8.7 on Pages 457-459 and Exercises 8.8-8.11 on Pages 461-462.

Self-Review Exercises 9.1-9.2 on Page 519 and Exercises 9.3 and 9.4 on Page 520.

Self-Review Exercises 10.1-10.2 on Pages 568-569 and Exercises 10.3-10.6 on Page 569.

Self-Review Exercises 11.1-11.5 on Pages 624-625 and Exercises 11.6 and 11.7 on Page 625.

Self-Review Exercises 12.1-12.2 on Pages 682-683.

Self-Review Exercises 13.1-13.2 on Page 746.

Self-Review Exercises 14.1-14.2 on Page 766.

Self-Review Exercises 15.1-15.5 on Pages 804-806 and Exercise 15.6 on Page 808.

Self-Review Exercises 16.1-16.17 on Page 838 and Exercises 16.18-16.24 on Pages 839-840.

Self-Review Exercises 17.1-17.4 on Pages 876-877 and Exercises 17.5 and 17.6 on Pages 878-879.

Self-Review Exercises 18.1-18.3 on Pages 907-908 and Exercises 18.4-18.6 on Page 908.

Self-Review Exercises 21.1-21.5 on Pages 1036-1037.

Self-Review Exercises 22.1-22.5 on Pages 1102-1103.

Self-Review Exercises 23.1-23.11 on Pages 1197-1198.

 

Lab Facilities

If you do not have access to a computer with a browser and a C++ compiler, you may use the Computer Studies  Department Computer Labs at any of the major campuses. You may use the Computer Studies labs at CYP, EVC, NRG, PIN, NRG, SAC and RVS.  At each of these computer labs ask the lab technician for a guest logon number.  Please read the COIS Computer Lab Policies and Rules available from the lab staff at any campus.

The textbook comes with a CD containing Visual C++.  This is an adequate compiler for the assignments in this course.  A command line version of the Borland compiler may be downloaded from the Borland web site http://www.borland.com/  or Dev C++ from Bloodshed Software.  In addition to these sites, any Linux or UNIX system has a C++ compiler which may be used satisfactorily for this course.

RGC Lab

The COIS computer lab at the RGC campus is in room 115.  This lab is available during the following times.

Monday to Friday - 8:00 AM to 10:00 PM

Saturday – 8:00 AM to 2:00 PM

Labs on other campuses will have different hours of operation.  Check at each campus for the lab schedules.

 

 

Grade Policy: Grade will be based both on concepts and practical application.  The course consists of 9 programming assignments and 3 exams.  Exams are  65% of the final average and programs are 35%.

           

Grade Scale:

            90%  - 100%         A

            80%  -  89%          B

            70%  -  79%          C

            60%  -  69%          D

            0%    -  59%          F

 

 

 

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 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.

 

            Students who violate the academic integrity policy will receive an F grade in the course and be referred to the Director of Student Services for college disciplinary action.

 

            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:

 

The student is unable to complete the course during the semester due to circumstances beyond their control.

The student must have earned at least half of the grade points needed for a “C” by the end of the semester.

The request for the grade must be made in person at the instructor’s office and necessary documents completed.

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 or in online chat rooms, discussion boards and email.

 

            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 (Insert Withdrawal Date Here).  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)”

 

Scans Competencies:

 

 

Level Achieved – 1 (low) to 4 (high)

C1

Time:  Selects goal-relevant activities, ranks them, allocates time, and prepares and follows schedules.

3

C2

Money:  Uses or prepares budgets, makes forecasts, keeps records, and makes adjustments to meet objectives.

 N/A

C3

Materials and Facilities:  Acquires, stores, allocates, and uses materials or space efficiently.

  N/A

C4

Human Resources:  Assesses skills and distributes work accordingly, evaluates performance, and provides feedback.

  N/A

C5

Acquires and evaluates information.

3

C6

Organizes and maintains information.

2

C7

Interprets and communicates information.

3

C8

Uses computers to process information.

2

C9

Participates as a member of a team:  Contributes to group effort.

  N/A

C10

Teaches others new skills.

  N/A

C11

Serves Clients/Customers:  Works to satisfy customer's expectations.

3

C12

Exercises Leadership:  Communicates ideas to justify position, persuades and convinces others, responsibly challenges existing procedures and policies.

1

C13

Negotiates:  Works toward agreements involving exchange of resources; resolves divergent interests.

2

C14

Works With Diversity:  Works well with men and women from diverse backgrounds.

 N/A

C15

Understands Systems:  Knows how social, organizational, and technological systems work and operates effectively with them.

3

C16

Monitors and Corrects Performance:  Distinguishes trends, predicts impacts on system operations, diagnoses systems performance, and corrects malfunctions.

3

C17

Improves or Designs Systems:  Suggests modifications to existing systems and develops new or alternative systems to improve performance.

3

C18

Selects Technology:  Chooses procedures, tools, or equipment, including computers and related technologies.

 1

C19

Applies Technology to Task:  Understands overall intent and proper procedures for setup and operation of equipment.

3

C20

Maintains and Troubleshoots Equipment:  Prevents, identifies, or solves problems with equipment, including computers and other technologies.

3

F1

Reading:  Locates, understands, and interprets written information in prose and in documents such as manuals, graphs, and schedules.

3

F2

Writing:  Communicates thoughts, ideas, information, and messages in writing; creates documents such as letters, directions, manuals, reports, graphs, and flow charts.

 3

F3

Arithmetic:  Performs basic computations; uses basic numerical concepts such as whole numbers, etc.

  N/A

F4

Mathematics:  Approaches practical problems by choosing appropriately from a variety of mathematical techniques.

2

F5

Listening:  Receives, attends to, interprets, and responds to verbal messages and other cues.

3

F6

Speaking:  Organizes ideas and communicates orally.

 1

F7

Creative Thinking:  Generates new ideas.

 1

F8

Decision Making:  Specifies goals and constraints, generates alternatives, considers risks, and evaluates and chooses best alternative.

4

F9

Problem Solving:  Recognizes problems and devises and implements plan of action.

4

F10

Seeing Things in the Mind’s Eye:  Organizes and processes symbols, pictures, graphs, objects, and other information.

 1

F11

Knowing How to Learn:  Uses efficient learning techniques to acquire and apply new knowledge and skills.

3

F12