Effective: Late Fall 8-Week, 2018/2019

CISS 243: Programming III

Back to Top

  Course Description

A continuation of CISS 242. Topics include inheritance, polymorphism, templates, stream I/O, file processing, stacks, queues and lists.

Prerequisite: Grade of C or higher in CISS 242.

Proctored Exams: Final



  Textbooks

As part of TruitionSM, students will receive their course materials automatically as described below.

Required

  •  Gaddis, Tony. (2018). Starting Out with C++: From Control Structures - Objects (9th ed). Addison Wesley.  eText

Bookstore Information

Visit https://www.ccis.edu/bookstore.aspx for details.

eText Information

If a course uses an eText, (see Textbook information above) the book will be available directly in Desire2Learn (D2L) and through the VitalSource eText reader the Friday before the session begins, if registered for courses prior to that date.  Students will have a VitalSource account created for them using their CougarMail email address. Upon first login to VitalSource, students may need to verify their account and update their VitalSource password.  More information about how to use the VitalSource platform, including offline access to eTexts, can be found in D2L.  Students that would like to order an optional print-on-demand copy of eligible eTexts can do so through the VitalSource bookshelf at an additional cost.  Once orders are placed, it can take approximately five to seven business days for students to receive their print-on-demand books.

Physical Course Materials Information

Students enrolled in courses that require physical materials will receive these materials automatically at the address on file with Columbia College.  Delivery date of physical materials is dependent on registration date and shipping location.  Please refer to confirmation emails sent from Ed Map for more details on shipping status.

Returns: Students who drop a course with physical course materials will be responsible for returning those items to Ed Map within 30 days of receipt of the order.  More specific information on how to do so will be included in the package received from Ed Map.  See here for Ed Map's return policy. Failure to return physical items from a dropped course will result in a charge to the student account for all unreturned items.

Note: Students who opt-out of having their books provided as part of TruitionSM are responsible for purchasing their own course materials.

  Course Overview

This class is the last in a three-course sequence, a continuation of CISS 242, introducing computer programming using the C++ language.  This class uses the C++ programming language, but the principles learned, and skills obtained are applicable to programming in any language.  In fact, one of the objectives of this course is to instill the ability to transfer your knowledge and skills to programming in any domain, with any language. With the use of classes, one has started to learn to create programs which are Object-Oriented (OO). In this course you will expand on the use of classes and create more complex OO programs. Seeing how the classes interact with each other. Advanced topics of OO programming are introduced as we continue to expand our OO knowledge.

  Technology Requirements

Participation in this course will require the basic technology for all online classes at Columbia College:
  • A computer with reliable Internet access
  • A web browser
  • Acrobat Reader
  • Microsoft Office or another word processor such as Open Office

You can find more details about standard technical requirements for our courses on our site.

  Course Learning Outcomes

  1. Write programs in C++ which use exceptions.
  2. Write templates in C++.
  3. Write programs in C++ which use recursive functions.
  4. Implement basic data structures such as stacks and linked lists in C++.

  Grading

Grading Scale

Grade Points Percent
A 738-820 90-100%
B 656-737 80-89%
C 574-655 70-79%
D 492-573 60-69%
F 0-491 0-59%

Grade Weights

Assignment Category Points Percent
Discussions (8) 80 10%
Programming Assignments (7) 350 43%
Quizzes (7) 140 17%
Course Project 100 12%
Final Exam 150 18%
Total 820 100%

  Schedule of Due Dates

Week 1

Assignment Points Due
Discussion 1 10 Wednesday/Sunday
Programming Assignment 1 50 Sunday
Quiz 1 20

Week 2

Assignment Points Due
Discussion 2 10 Wednesday/Sunday
Programming Assignment 2 50 Sunday
Quiz 2 20
Proctor Information N/A

Week 3

Assignment Points Due
Discussion 3 10 Wednesday/Sunday
Programming Assignment 3 50 Sunday
Quiz 3 20

Week 4

Assignment Points Due
Discussion 4 10 Wednesday/Sunday
Programming Assignment 4 50 Sunday
Quiz 4 20

Week 5

Assignment Points Due
Discussion 5 10 Wednesday/Sunday
Programming Assignment 5 50 Sunday
Quiz 5 20

Week 6

Assignment Points Due
Discussion 6 10 Wednesday/Sunday
Programming Assignment 6 50 Sunday
Quiz 6 20

Week 7

Assignment Points Due
Discussion 7 10 Wednesday/Sunday
Programming Assignment 7 50 Sunday
Quiz 7 20

Week 8

Assignment Points Due
Discussion 8 10 Wednesday/Saturday
Course Project 100 Saturday
Final Exam 150
Total Points: 820

  Assignment Overview

Discussions

There will be weekly Discussions in Weeks 1-8. Discussion assignments are designed to allow you to utilize what you've learned in the assigned readings and Content area lectures of the course. They will further the understanding of concepts and ideas in programming. You will be required to make an initial response to the prompts of each Discussion topic by 11:59 pm CT Wednesday. You will not be able to view other student responses until you make your initial post. You will then respond to at least one classmate by 11:59 pm CT Sunday, except for Week 8 when the responses are due by 11:59 pm CT on Saturday. You must respond substantively (more than one word/short phrase). A grading rubric will be provided in D2L for guidance. Discussion posts are worth 10 points each (6 points for original post, 4 points for response). Two posts (one initial post and one peer response) are required for full credit.

Programming Assignments

Each week you will complete a Programming Assignment. Programming Assignments must follow standard code formatting, as shown in the textbook code and examples. They will also be required to have a comment block at the top of the code file with a detailed description of what the program does. Once functions are covered, a comment block is needed for each function with a detailed description of what it does. Once a function is covered, they should be used in subsequent Programming Assignments and the overall scope should stay within the content that has been covered.
Programming Assignments will be due by 11:59 pm CT Sunday of the week they are assigned.

Course Project

The Course Project must follow standard code formatting, as shown in the textbook code and examples. It must include a comment block at the top of the code file with a detailed description of what the program does. Functions must also have a comment block with a detailed description of what it does.  Additionally, classes must be used within the code, while staying within the scope of the content covered in the course.  Additional information regarding what you will be programming for will be included in the Content Area of D2L.
 
Your Course Project must be submitted no later than 11:59 pm CT on Saturday of Week 8.

Quizzes and Exams

Quizzes

There will be Quizzes in Weeks 1-7. Quizzes will be comprised of 10 multiple-choice or true/false questions. Students are allowed one 20-minute timed attempt at each Quiz. Students will be able to review all of the quiz answers once completed. Quizzes will be open from 12:01 am CT Monday and remain open until 11:59 pm CT Sunday. Quizzes are worth 20 points.

Exams

There will be a proctored Final Exam in Week 8. Proctor information is due by 11:59 pm CT Sunday of Week 2. The Final Exam will be open from 12:01 am CT Monday until 11:59 pm CT Saturday of Week 8. The Final Exam will be comprised of 100 multiple-choice or true/false questions and writing short code segments (short answer). Students are allowed one timed attempt of 2 hours at the Final Exam. You will be able to review all of the Final Exam answers once completed. The Final Exam will be worth 150 points.

  Course Outline

Click on each week to view details about the activities scheduled for that week.

Readings
  • Chapter 14
  • Video on Aggregation Programs
Introduction Discussion

During the first week, we will take the time to "socialize" and get to know one another. Many of you may already know each other from CISS 241 and 242.  However, we may have new students that took time between these courses and are joining us in CISS 243.

As you introduce yourself to the class, include information such as what brought you to take this course, what you would like to get out of the course, and a trait you possess that you feel is unique or different from other people. If you feel comfortable doing so, share additional information about yourself, including any personal or professional details you’d like to share, or even your location and how long you have lived there. Please feel free to tell the class about you.

Discussion 1

There are several Object-oriented languages that do not support operator overloading. Discuss the role and the importance of operator loading for the design of a class.  Discuss what the “this” pointer provides to programming and the role it plays in operator overloading.

Your initial post must be submitted by Wednesday at 11:59 pm CT.  Your response to at least one classmate’s posts must be submitted by Sunday at 11:59 pm CT.

Programming Assignment 1

This assignment requires several classes which interact with each other. Two class aggregations are formed. The program will simulate a police officer’s beat where the officer is giving out tickets for parked cars whose meters have expired.  Further specifics to the assignment can be found within Week 1 of the course.  You must submit your Programming Assignment no later than 11:59 pm CT on Sunday.


Quiz 1

Quiz 1 will consist of 10 multiple-choice and true/false questions.  These questions will cover materials from the Week 1 readings and Instructional Materials.  You will have 20 minutes and one (1) attempt to complete this quiz.

Quiz 1 must be submitted no later than 11:59 pm CT on Sunday.  


Readings
  • Chapter 15
  • Video on Inheritance
Discussion 2

Discuss the concept of a pure abstract class. Include what they are used for or what they can be used for. How do they help support object-oriented programming?

Your initial post must be submitted by Wednesday at 11:59 pm CT.  Your response to at least one classmate’s posts must be submitted by Sunday at 11:59 pm CT.

Programming Assignment 2

In this assignment a class hierarchy is created with three classes.  Specific information regarding this assignment can be found within Week 2 of the course.  

You must submit your Programming Assignment no later than 11:59 pm CT on Sunday.

Quiz 2

Quiz 2 will consist of 10 multiple-choice and true/false questions.  These questions will cover materials from the Week 2 readings and Instructional Materials.  You will have 20 minutes and one (1) attempt to complete this quiz.

Quiz 2 must be submitted no later than 11:50 pm CT on Sunday.


Readings
  • Chapter 16
  • Video on Templates and Exceptions
Discussion 3

Exceptions are normally looked at as error states in the program. Create an instance where an exception can be used to indicate a situation has occurred that can be handled instead of needing to end the program. Describe the use and how it could be used with a simple program. Post both the description and code.

Your initial post must be submitted by Wednesday at 11:59 pm CT.  Your response to at least one classmate’s posts must be submitted by Sunday at 11:59 pm CT.

Programming Assignment 3

Design and implement a set of classes that define a series of three-dimensional geometric shapes.  Specific information regarding this assignment can be found in Week 3 of the course. 

You must submit your Programming Assignment no later than 11:59 pm CT on Sunday.

Quiz 3

Quiz 3 will consist of 10 multiple-choice and true/false questions.  These questions will cover materials from the Week 3 readings and Instructional Materials.  You will have 20 minutes and one (1) attempt to complete this quiz.

Quiz 3 must be submitted no later than 11:59 pm CT on Sunday.  

Readings
  • Chapter 18
  • Video on Using Linked List
Discussion 4

For the provided template linked list class create a derived class of it which adds the functionality to it to find the high and low value of any given data stored in the list. The derived class must be a template. Discuss what is needed of the data (object) stored in the linked list to allow it to work for a data type other than the primitive data types. Show the list works with a data type of int.

Your initial post must be submitted by Wednesday at 11:59 pm CT.  Your response to at least one classmate’s posts must be submitted by Sunday at 11:59 pm CT.

Programming Assignment 4

This assignment uses the linked list provided for the discussion and the class you created for the discussion.  Specific information regarding this assignment can be found in Week 4 of the course.

You must submit your Programming Assignment no later than 11:59 pm CT on Sunday.

Quiz 4

Quiz 4 will consist of 10 multiple-choice and true/false questions.  These questions will cover materials from the Week 4 readings and Instructional Materials.  You will have 20 minutes and one (1) attempt to complete this quiz.

Quiz 4 must be submitted no later than 11:59 pm CT on Sunday.


Readings
  • Chapter 19
  • Video on using Stacks and Queues
Discussion 5

The reading this week shows a stack using an array and a dynamic stack using a node, the video in the lecture shows how to use a linked list as part of a stack. Discuss what changes can be made to the array implementation to improve it. How could you make it dynamic and reuse the empty locations within the array?

Your initial post must be submitted by Wednesday at 11:59 pm CT.  Your response to at least one classmate’s posts must be submitted by Sunday at 11:59 pm CT.

Programming Assignment 5

You will use a provided class to create another class that will maintain a deck of cards.  Specific information regarding this assignment can be found in Week 5 of the course.

You must submit your Programming Assignment no later than 11:59 pm CT on Sunday.

Quiz 5

Quiz 5 will consist of 10 multiple-choice and true/false questions.  These questions will cover materials from the Week 5 readings and Instructional Materials.  You will have 20 minutes and one (1) attempt to complete this quiz.

Quiz 5 must be submitted no later than 11:59 pm CT on Sunday.  


Readings
  • Chapter 20
Discussion 6

Create a recursive function that will accept two arguments into the parameters x and y. The function should return the value of x times y. Remember, multiplication can be performed as repeated addition.

7 *  4 = 4 + 4 + 4 + 4 + 4 + 4 + 4

Your initial post must be submitted by Wednesday at 11:59 pm CT.  Your response to at least one classmate’s posts must be submitted by Sunday at 11:59 pm CT.

Programming Assignment 6

You will create three recursive functions.  Specific information regarding these functions and the assignment can be found in Week 6 of the course.

You must submit your Programming Assignment no later than 11:59 pm CT on Sunday.

Quiz 6

Quiz 6 will consist of 10 multiple-choice and true/false questions.  These questions will cover materials from the Week 6 readings and Instructional Materials.  You will have 20 minutes and one (1) attempt to complete this quiz.

Quiz 6 must be submitted no later than 11:59 pm CT on Sunday.  

Readings
  • Chapter 21
Discussion 7

Below are two different topics.  This week you should make an initial post to one of the situations, then respond to your classmates’ posts on the other topic.

  1. Discuss how you would implement a method that counts the number of leaf nodes and the height of the tree.
  2. There are three methods of traversing a binary tree. What is the difference between these methods? Is there meaning behind how the data is visited?

Your initial post must be submitted by Wednesday at 11:59 pm CT.  Your response to at least one classmate’s posts must be submitted by Sunday at 11:59 pm CT.

Programming Assignment 7

This assignment involves using the binary tree provided in the textbook.  Specific information regarding this assignment can be found in Week 7 of the course.

You must submit your Programming Assignment no later than 11:59 pm CT on Sunday.

Quiz 7

Quiz 7 will consist of 10 multiple-choice and true/false questions.  These questions will cover materials from the Week 7 readings and Instructional Materials.  You will have 20 minutes and one (1) attempt to complete this quiz.

Quiz 7 must be submitted no later than 11:59 pm CT on Sunday.  

Readings
  • Review Chapters 14-16, 18-21
Discussion 8

The STL library has many useful objects in it. In this course we covered some of them. What else does the STL library have in it? What would you find particularly useful within the STL library?  Give a short description. There is a chapter in the textbook that covers several other STL objects.

Your initial post must be submitted by Wednesday at 11:59 pm CT.  Your response to at least one classmate’s posts must be submitted by Saturday at 11:59 pm CT.

Course Project

The Course Project can be started in Week 7.  You will create a CD/DVD Collection program.  Specific information regarding the project can be found in Week 8 of the course.  

The Course Project must be submitted to the appropriate Dropbox folder no later than 11:59 pm CT on Saturday.

Final Exam

The proctored Final Exam will consist of 100 multiple-choice questions, true/false questions, and writing short code segments.  These questions will cover materials from Week 1 - 7.  You will have 2 hours and one (1) attempt to complete this quiz.

The Final Exam must be submitted no later than 11:59 pm CT on Saturday.  

  Course Policies

Student Conduct

All Columbia College students, whether enrolled in a land-based or online course, are responsible for behaving in a manner consistent with Columbia College's Student Conduct Code and Acceptable Use Policy. Students violating these policies will be referred to the office of Student Affairs and/or the office of Academic Affairs for possible disciplinary action. The Student Code of Conduct and the Computer Use Policy for students can be found in the Columbia College Student Handbook. The Handbook is available online; you can also obtain a copy by calling the Student Affairs office (Campus Life) at 573-875-7400. The teacher maintains the right to manage a positive learning environment, and all students must adhere to the conventions of online etiquette.

Plagiarism and Academic Integrity

Academic integrity is a cumulative process that begins with the first college learning opportunity. Students are responsible for knowing the Academic Integrity policy and procedures and may not use ignorance of either as an excuse for academic misconduct. Columbia College recognizes that the vast majority of students at Columbia College maintain high ethical academic standards; however, failure to abide by the prohibitions listed herein is considered academic misconduct and may result in disciplinary action, a failing grade on the assignment, and/or a grade of "F" for the course.

Additionally, all required papers may be submitted for textual similarity review to Turnitin.com for the detection of plagiarism. All submitted papers may be included in the Turnitin.com reference database for the purpose of detecting plagiarism. This service is subject to the Terms and Conditions of Use posted on the Turnitin.com site.

Non-Discrimination

There will be no discrimination on the basis of sex, race, color, national origin, sexual orientation, religion, ideology, political affiliation, veteran status, age, physical handicap, or marital status.

Student Accessibility Resources

Columbia College is committed to creating a learning environment that meets the needs of its diverse student body. If you anticipate or experience any barriers to learning, communicate your concerns with the instructor. In addition to speaking with the instructor, the following resources are available to ensure an opportunity to learn in an inclusive environment that values mutual respect.

  • For students with disabilities/conditions who are experiencing barriers to learning or assessment, contact the Student Accessibility Resources office at (573) 875-7626 or sar@ccis.edu to discuss a range of options to removing barriers in the course, including accommodations.
  • For students who are experiencing conflict which is impacting their educational environment, contact the Office of Student Conduct at studentconduct@ccis.edu or (573) 875-7877.
  • For students who have concerns related to discrimination or harassment based on sex, gender identity, sexual orientation, pregnancy or parental status, please contact the Title IX Office at titleixcoordinator@ccis.edu. More information can be found at http://www.ccis.edu/policies/notice-of-non-discrimination-and-equal-opportunity.aspx

Online Participation

You are expected to read the assigned texts and participate in the discussions and other course activities each week. Assignments should be posted by the due dates stated on the grading schedule in your syllabus. If an emergency arises that prevents you from participating in class, please let your instructor know as soon as possible.

Attendance Policy

Attendance for a week will be counted as having submitted any assigned activity for which points are earned. Attendance for the week is based upon the date work is submitted. A class week is defined as the period of time between Monday and Sunday (except for week 8, when the work and the course will end on Saturday at midnight.) The course and system deadlines are based on the Central Time Zone.

Cougar Email

All students are provided a CougarMail account when they enroll in classes at Columbia College. You are responsible for monitoring email from that account for important messages from the College and from your instructor. You may forward your Cougar email account to another account; however, the College cannot be held responsible for breaches in security or service interruptions with other email providers.

Students should use email for private messages to the instructor and other students. The class discussions are for public messages so the class members can each see what others have to say about any given topic and respond.

Late Assignment Policy

An online class requires regular participation and a commitment to your instructor and your classmates to regularly engage in the reading, discussion and writing assignments. Although most of the online communication for this course is asynchronous, you must be able to commit to the schedule of work for the class for the next eight weeks. You must keep up with the schedule of reading and writing to successfully complete the class.

No late discussion posts will be accepted.

Late assignments will be accepted during the week after the due date for some credit, expect for Week 8.  Each assignment will lose 5 points for each day it is late.

Course Evaluation

You will have an opportunity to evaluate the course near the end of the session. A link will be sent to your CougarMail that will allow you to access the evaluation. Be assured that the evaluations are anonymous and that your instructor will not be able to see them until after final grades are submitted.

Proctor Policy

Students taking courses that require proctored exams must submit their completed proctor request forms to their instructors by the end of the second week of the session. Proctors located at Columbia College campuses are automatically approved. The use of ProctorU services is also automatically approved. The instructor of each course will consider any other choice of proctor for approval or denial. Additional proctor choices the instructor will consider include: public librarians, high school or college instructors, high school or college counseling services, commanding officers, education service officers, and other proctoring services. Personal friends, family members, athletic coaches and direct supervisors are not acceptable.

  Additional Resources

Orientation for New Students

This course is offered online, using course management software provided by Desire2Learn and Columbia College. The course user guide provides details about taking an online course at Columbia College. You may also want to visit the course demonstration to view a sample course before this one opens.

Technical Support

If you have problems accessing the course or posting your assignments, contact your instructor, the Columbia College Technology Solutions Center, or the D2L Helpdesk for assistance. If you have technical problems with the VitalSource eText reader, please contact VitalSource. Contact information is also available within the online course environment.

Online Tutoring

Smarthinking is a free online tutoring service available to all Columbia College students. Smarthinking provides real-time online tutoring and homework help for Math, English, and Writing. Smarthinking also provides access to live tutorials in writing and math, as well as a full range of study resources, including writing manuals, sample problems, and study skills manuals. You can access the service from wherever you have a connection to the Internet. I encourage you to take advantage of this free service provided by the college.

Access Smarthinking through CougarTrack under Students -> Academics -> Academic Resources.