Advanced C++ Online Orientation

Welcome to ACC’s Distance Learning Advanced C++ course orientation.  I hope you have a profitable and enjoyable learning experience during the semester.  To complete this online orientation you need to follow the following steps:

  1. Study this document and the course syllabus thoroughly.  When you have completely examined both documents then go to step 2.
  1. Complete the online Student Information Form.  You will send your completed form electronically via the Internet to Dr. Ron Bass, your instructor for this course.  He will receive it as an e-mail message.   Your instructor upon receipt of this form will send you additional course information.
  1. Purchase the textbook.  Examine it and review the first eight chapters.
  1. You will be using Blackboard, an instructional website system provided by ACC.  Your username and password can be determined by going to website: http://irt.austincc.edu/blackboard/stlogin.html.  Using your username and password, connect to the Blackboard Website (http://acconline.austincc.edu/index.html).  Login, update your email address and begin work on the course.

If you have any questions about the course, first check Dr. Bass' website at http://www.austincc.edu/RonBass .  If the information at this site doesn't answer your questions, then send Dr. Bass a detailed e-mail message at: rbass@austincc.edu .

In your e-mail message be sure to identify yourself as a student, your course name, and your section (synonym) number.

 

Lab Facilities

If you do not have access to a computer with a C++ compiler installed, you may use the Computer Studies (COIS) Department Computer Labs at any of the major campuses.  You may use any other computer system which has an ANSI standard C++ compiler such as Visual C++ or Borland C++.  If you have access to a UNIX/Linux system, the C++ compiler provided with the operating system will almost certainly be adequate for the assignments in this course.  There are several free C++ compilers that may be downloaded from the internet, if you wish to install one on your system.

You may use the COIS computer labs at any of the ACC campuses - CYP, EVC, NRG, PIN, NRG, and RVS.  At each of these COIS 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.

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.

Course and Internet Policies

Course Policies

Course Withdrawal

If you withdraw from the course and complete the appropriate withdrawal form, then you will receive a "W" grade.  However, DO NOT rely on Dr. Bass to withdraw you from the course.  It is your responsibility to administratively withdraw from the course to receive a "W" grade.  You will receive a "W" grade, if you initiate a withdrawal through the Admissions and Records Office prior to the withdrawal deadline date.  After this date, you may NOT withdraw and you will receive a grade of A, B, C, D, or F depending on your level of achievement.  If you miss the withdraw deadline, your instructor will NOT request a waiver of the College policy and will NOT request a retroactive withdrawal.  Dr. Bass reserves the right, but not the duty, to withdraw you from the course for missed exams, or lack of progress.

Missed Exam Deadline

If you do not take an exam by the scheduled deadline and have not made prior arrangements with your instructor, your grade for the exam will be penalized by 20% when you do take it.  Even if completing an exam late and accepting the penalty, you must complete exam 1 before the initial due date for exam 2.  And, you must complete exam 2 prior to taking the final exam.  The final exam cannot be taken late under any circumstance. There will be no retests or make-up exams in this course.

In order to waive the 20% score reduction for taking a late exam, you will need to meet the following conditions.

  • You must have experienced an unforeseen and sudden emergency.  Note: Getting behind in the course is not an unforeseen emergency.
  • You must present to Dr. Bass documented proof of your emergency.
  • You must contact Dr. Bass in person, by phone, or by e-mail of your emergency ON or BEFORE the initial due date of the exam.

Missed Final Exam Deadline

If you fail to submit the last exam of the semester, you will receive a zero (0%) grade for the exam. 

Academic Dishonesty

Exams

Cheating on an exam results in a zero (0%) grade for the exam.  The Director of Student Services will be informed of the incident and disciplinary action taken.

Projects

You must complete all work required for this course without inappropriate assistance.   All lab projects, exercise sets, and quizzes are preparation for exams and it will not benefit you to have others complete them for you.  If you are not certain what kind of assistance is permissible then ask Dr. Bass for his opinion before accepting any assistance.

Retesting & Extra Credit

Dr. Bass does not allow retesting nor extra credit work to raise your grade.

Incomplete Grades

Department Guidelines for Incomplete Grades - You may receive a temporary grade of "I" (Incomplete) at the end of the semester only if you meet the following conditions:

  • You are unable to complete the course during the semester due to circumstances beyond your control.
  • You must have earned at least half of the grade points needed for a "C" grade by the end of the semester.  That means you must have at least a "C" grade before the Final Exam.
  • You must make the request for the "I" grade in person at the instructor's office and complete the necessary documents.  You must also bring to the instructor supporting documentation such as a physician's statement.
  • To remove an "I" grade, you 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".

Students with Disabilities

If you are a student with disabilities, and you want any instructional adjustments or accommodations, then you must meet with a counselor at the Office for Students with Disabilities (OSD).  The OSD will complete the Approved Accommodations & Academic Adjustments form.  You must present this completed form to the instructor so he knows what accommodations and adjustments to make to accommodate your disabilities.  You must do this at the beginning of the semester.  You should expect a reasonable amount of time to elapse before the required changes to the course to accommodate you.

Internet Policies

My instructor has informed me of the following information:

  • This course will require use of the Internet.
  • The Internet contains some Web pages with text, graphic, animation, and video content that is of an adult nature. Some Web pages contain nudity, sexually oriented text information, and profanity.
  • The course does not require you to access any information on the Internet that contains sexually oriented material or material that displays profanity.
  • You are advised NOT to view any Internet material that may be offensive.
  • You are warned that you could accidentally or inadvertently encounter offensive material on the Internet.  If this happens, you are advised NOT to view this material on any computer in any ACC computer lab.

 

Course Goals

This course is study of the advanced features of the C++ programming language.  It covers topics including: classes and objects, inheritance, polymorphism, class templates, recursion, operator overloading, friend functions, and the STL. At the end of this course you should be able to:

  • A. Construct 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.
  • E. Design and develop programs implementing data structures utilizing the STL.  

You may use your own computer, if you have the following resources:

  • Internet connection service with an e-mail account; and 
  • An installed C++ compiler, or
  • UNIX/Linux operating system with a C++ compiler.

 

 

ITSE 2431 Advanced C++

Course Assignment Schedule

 

Programming Assignments – 9 programming problems are to be completed during the course.  Send copies of the source code files and files containing sample/test output for the program to the instructor for grading.

 

The first three of the following programming assignments are from the Dietel and Dietel Textbook

Program 1 – Exercise 8.17 Page 463-464 (Due:  9/8/08) Note: You are required to use pointer syntax and functions in the solution to this problem.

 

Program 2 – Exercise 9.15 Page 522 (Due:  9/15/08) Note: You must include options: 1) for the program to generate the moves of one of the players; and: 2) for two people to play each other. 

 

Program 3 – Exercise 10.10 Page 570 (Due:  9/22/08) Note:  You must delete the private data members: hour, minute, and second; and add a new private data member:  secs_since_MN.  Although, you must modify the details of the member functions, the public member functions calls (the programmer’s interface or API) must remain unchanged so that client programs will not have to be modified.

 

 Program 4 –    (Due: 9/29/08) Modify the time class you rewrote in assignment 3 (above) by adding overloading for the following  operators:

 

1.      <<  which will allow the output of time in standard format (remove the printStandard function from the class).  Leave the printUniversal function unmodified.

2.      +   which will allow the addition of a time object parameter to the current object.

3.      -   which will allow the subtraction of a time object parameter from the current object.

4.      ++ (preincrement) which will increment the time by one second.  Do not allow the minutes or seconds to be larger than 59.

5.      –- (predecrement) which will decrement the time by one second.  Do not allow the minutes or secons to be less than 0.

 

Programs 1-4 may be submitted late with a 20% penalty until 10/01/2008.  After that date they will not be accepted.

 

Exam 1 – 10/1/08

 

The first two of the following programming assignments are from the Dietel and Dietel Textbook.   Note the additions and modifications required in the specifications below.

 

Program 5 – Exercise 12.10 Pages 684-685 (Due:  10/13/08) Note:  Provide friend functions to overload the operator << (display the balance) for all three classes (Account, SavingsAccount, and CheckingAccount).

 

Program 6 – Exercise 13.12 Page 747 (Due:  10/22/08)

 

Program 7 – (Due:  11/3/08) Create a class template which will allow the processing of a list (this may be an array).  The list may be of type int, float, string, char, or a user declared ordinal type.   The class should provide member functions to:

 

1.      load the list from a file;

2.      write the list to a file;

3.      sort the list;

4.      search the list for a user specified value;

5.      add a new element to the list;

6.      delete a value specified by value.

 

Test your class template by writing a driver program.  Use at least two different data types, for example, string and int.

 

Programs 5-7 may be submitted late with a 20% penalty until 11/05/2008. After that date they will not be accepted.

 

Exam 2 – 11/5/08

 

The following programming assignment is from the Dietel and Dietel Textbook.  Note the additions and modifications required in the specifications below.

 

Program 8 – Exercise 21.15 Page 1040 (Due: 11/19/08) Note:  Use the queue shown in Figure 21.16 on Page 1022 which in turn uses the linked list shown in Figures 21.3 and 21.4 on Pages 1003-1007 of the textbook.  The files for the queue and the linked list are available on the textbook CD.  Don’t retype them.  If you don’t have the textbook CD, I will send the files to you by email on request.

 

Program 9 – (Due:  12/8/08) Write a spell checker program.  The program should read a text file and output a corrected text file.  Have the program prompt you for the name of the file.  The program should prompt the user to correct or leave as words that the program thinks are misspelled.  Words in the list which the program thinks are spelled correctly should be moved to the new text file with out changing their spelling.  Each word in the text file should be compared to a master list of correctly spelled words.  The master list of correctly spelled words is to be created using the STL template: list.  Load the correctly spelled word master list from a file you create, find on the internet or obtain from another source. 

 

Programs 8-9 may be submitted late with a 20% penalty until 12/10/2008.  After that date they will not be accepted.

 

Exam 3 – 12/10/08

 

Course Prerequisite

To be successful in the Advanced C++ course you must have successfully completed the following courses:

COSC 1315 - Fundamentals of Programming

COSC 1320 – C++ Programming

Or a suitable equivalent course from another college.

In these courses you should have learned the following prerequisite skills:

  • Variable declaration and assignments.
  • Input/Output processing.
  • Selection logic.
  • Repetition logic.
  • Use of functions including parameters.
  • Array Processing.
  • Pointers
  • Dynamic Memory Allocation
  • Introduction to Classes and Objects
  • File Processing

If you have not completed the COSC 1315 and COSC 1320, or suitable equivalents, then you should withdraw from the course.

 

Course Grade

Your final course grade is the average of the following grades:

  • 9 Programming Assignments (35%)
  • Exam 1, Exam 2, and Exam 3.  (65%)
  • Grading Scale: 90% and above is an A, 80 to 89% is a B, 70 to 79% is a C, 60 to 69% is a D, below 60% is an F.

All Exams are essay style.  All exams have a time limit of 2 hours.  All exams are closed-book exams but you will be allowed to use 3 pages of notes.

 

See the Course Schedule for the exam dates.

 

Course Materials

Textbook

Deitel and Deitel, "C++ How to Program", 5th edition.  Prentice Hall Addison Publishers, 2005. 
ISBN: 0-13-185757-6

Software

If you want to use your own computer, then you will need the following software on your computer:

  • Windows or another GUI type operating system such as MAC OS or UNIX/Linux with X Windows.
  • Web Browser
  • Internet Connection and Email account
  • C++ Compiler

 

C++ Compilers

C++ compilers may be downloaded free of charge from Borland or the Free Software Foundation.  Neither your instructor nor ACC lab technicians will assist you in making any installation of C++ on your own computer.

Other Compilers

If you want to use a version of C++ that has not been discussed here.  Be sure that it is ANSI compliant.  Check with your instructor if you have doubts.

 

Internet Access to ACC Computers

None of the lab computers or servers or accessible via the internet.  However, ACC has set up a Linux Server that may be accessed from your home PC with telnet.  Telnet is a utility available on most Windows computers.  Using this server, you will be able to connect it directly from your home PC without the necessity of installing any additional software on your system.  The linux server uses the GNU Free Software Foundation version of C++.  If you are interested in using this computer, contact your instructor for an account.

Management:

This course will be managed using ACC's online instructional support system: Blackboard (Bb). Under the Bb system all course materials are available online through an Internet connection and the World Wide Web. As a result, each student must have access to the Internet through a private Internet service provider. ACC does not provide ISP service to students. The URL for the online system is: http://acconline.austincc.edu. All assignments, announcements, chat sessions, discussion boards, and programming problems, exam reviews and other instructional materials will be available through the Bb system. Each student will be provided a login name and a password for accessing the system upon completing the mandatory orientation session at the beginning of the semester. When logged in, all grading information is protected by system security features; thus assuring each student's privacy.

 

 

Exams

Open Campus (PCM)

 Exams 1 and 2

Exams contain questions similar to those of the reviews.   The final exam may involve the writing a program which is covers the course material in a comprehensive manner.  You may take the Exams at any of the following ACC Testing Centers, Northridge, Rio Grande, Riverside, Pinnacle, Eastview, South Austin and Cypress.  The exam covers material from the textbook and assignments.  You may take up to three 8.5”X11” pages of notes to the testing center for each exam.   No books are permitted in the testing centers.

  1. Read the Student Guide To Use Of The Testing Center at the following URL: http://www.austincc.edu/testctr/
  1. Be sure to follow the Testing Center guidelines.  The Testing Center staff will send your exam to me for scoring.  I will notify you by email of your score.

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 has not yet been determined but may involve writing a program which is comprehensive of the course material. 

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 grade the exam and tell you your grade.  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 and view it.