Skip to main content

Search Bar Icon Close Menu

Online classes

Effective: Early Spring 8-Week 2017/2018

CISS 243: Programming III

Course Description

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

Prerequisite: Grade of C or better in CISS 242

Proctored Exams: Final



Syllabus Contents

Textbooks

Required

  • Gaddis, Tony. Starting Out With C++: From Control Structures Through Objects. 8th. Addison Wesley, 2014.
    • ISBN-978-0-13-376939-5
      • Note: This text comes with an access code to supplementary resources. These resources are optional, and are not required for course completion.

MBS Information

Textbooks for the course may be ordered from MBS Direct. You can order

For additional information about the bookstore, visit http://www.mbsbooks.com.


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.


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.

We will be using the Microsoft Express C++ compiler, which can be found on the Microsoft web site.  See the link in the class web site to download and install it if you do not already have it.

Course Objectives

  • To extend the language constructs and programming techniques available to the student.
  • To understand inheritance and polymorphism,
  • The use of virtual functions and abstract base classes
  • To understand how to construct class templates.
  • To obtain an understanding of stream I/O and formatting of I/O.
  • To understand how to build classes that provides support for stacks, queues and lists.

Measurable Learning Outcomes

  • Create subclasses through different types of inheritance.
  • Explain polymorphism and know when to use and how to write virtual and pure virtual function.
  • Construct abstract base classes.
  • Construct template classes.
  • Make use of stream I/O and formatting.
  • Construct template stack class.
  • Construct template queue class.
  • Construct template linked list class.

Grading

Grading Scale
Grade Points Percent
A 720-800 90-100%
B 640-719 80-89%
C 560-639 70-79%
D 480-559 60-69%
F 0-479 0-59%
Grade Weights
Assignment Category Points Percent
Discussion 75 9%
Programming Assignments 350 44%
Course Project 35 4%
Quizzes 140 18%
Final Exam 200 25%
Total 800 100%


Schedule of Due Dates

Week 1
Assignment Points Due
Discussion 1 10 Wednesday/Sunday
Week 1 Programming Assignment 1 25 Sunday
Week 1 Programming Assignment 2 25
Quiz 1 20
Week 2
Assignment Points Due
Discussion 2 10 Wednesday/Sunday
Week 2 Programming Assignment 1 25 Sunday
Week 2 Programming Assignment 2 25
Quiz 2 20
Proctor Information N/A
Week 3
Assignment Points Due
Discussion 3 10 Wednesday/Sunday
Week 3 Programming Assignment 1 25 Sunday
Week 3 Programming Assignment 2 25
Quiz 3 20
Week 4
Assignment Points Due
Discussion 4 10 Wednesday/Sunday
Week 4 Programming Assignment 1 25 Sunday
Week 4 Programming Assignment 2 25
Quiz 4 20
Week 5
Assignment Points Due
Discussion 5 10 Wednesday/Sunday
Week 5 Programming Assignment 1 25 Sunday
Week 5 Programming Assignment 2 25
Quiz 5 20
Week 6
Assignment Points Due
Discussion 6 10 Wednesday/Sunday
Week 6 Programming Assignment 1 25 Sunday
Week 6 Programming Assignment 2 25
Quiz 6 20
Week 7
Assignment Points Due
Discussion 7 10 Wednesday/Sunday
Week 7 Programming Assignment 1 25 Sunday
Week 7 Programming Assignment 2 25
Quiz 7 20
Week 8
Assignment Points Due
Discussion 8 5 Wednesday/Saturday
Course Project 35 Saturday
Final Exam 200
Total Points 800

Assignment Overview

Readings

Be sure you can answer all of the Checkpoint questions as well as complete the Review Questions and Exercises at the end of each chapter.


Discussion

Each week you will discuss programming concepts with your classmates. The discussion board will be used primarily for you to pose and answer questions about your programming assignments.  Regular participation in these forums will advance your understanding (as well as improve your grade). The first 7 weeks each student is required to post two times. First the student will post to the discussion topic that is provided each week by the instructor. The second post for every student is a response to a post by another student. NOTE the first posting by the student must be posted by Wednesday of each week (start of discussion); if posted after Wednesday it will be subject to the late policy for this course. The response to another student’s posting is due by Sunday. Your responses to others’ posts should also be well developed, fully explaining your response to the classmates’ posts. Make responses that add to the conversation and take it further; simply posting “I agree” or “good job” does not help develop ideas. For Week 8 there is only one post required; this post should be in response to the topic provided by the instructor.


Quizzes

There will be a brief 20-point quiz each week to test your understanding of programming concepts. Quizzes will be timed, so you should study beforehand because it will be difficult to finish in time if you are frantically flipping through your book for the answers.


Programming Assignments

Each week you will write two programs; the requirements for these assignments are provided below in the Course Schedule section of this syllabus.  We will be using the Microsoft Compiler for this class, available at http://www.microsoft.com/express/vc/.

The Microsoft compilers are the more accepted tools in the field. Follow the online help to install the compiler. It may require you to install the .NET framework, which is also free.  Complete your assignments in the Microsoft compiler; then submit the program to the course Dropbox.  Please include comments describing the programming sequence (see course content area for rubric).


Course Project

This assignment can be started anytime during Week 7 and must be submitted by the end of Week 8. This project will use many the topics covered during this course.


Final Exam

You will have one (1) proctored exam worth 200 points.  You must arrange an acceptable proctor and submit the Proctor Information Form to the Proctor Dropbox by the end of Week 2. See the Proctor Policy in the Course Policies section below for more information.



Course Outline

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

Week 1: Operator Overloading
Reading

Read Chapter 14. Be sure you can review all of the Checkpoint questions as well as complete the Review Questions and Exercises.

Discussion 1

Why is operator overloading important for classes?  What is the role of the pointer in operator overloading and other functions?

Programming Assignments

The following assignments must be completed with all source code files, including .cpp and .h (.h files only needed when working with classes), submitted to the correct dropbox by the end of the week.

Week 1 Programming Assignment 1

Design a class called NumDays. The class’s purpose is to store a value that will convert the number of worked hours to a number of days. For example, 8 hours would be converted to 1 day, 12 hours would be converted to 1.5 days and 18 hours converted to 2.25 days. The class must have a constructor that accepts a number of hours. There must also be member function to set and get the hours and days. The class should have 2 data members, hours and days.

The class will have several operators:

  • the addition operator. This operator will add the hours of the two objects and return a new instance of the NumDays with its hour’s data member set to the sum of the other two objects.
  • the subtraction operator will also be overloaded which will subtract the two objects and return a new instance of the NumDays class.
  • the prefix and postfix increment operator. These operators should increment the number of hours stored in the object. It will return an instance of the NumDays object.
  • the prefix and postfix decrement operator. These operators should decrement the number of hours stored in the object. It will return an instance of the NumDays object.

Note that when the number of hours changes, the number of days should always be updated. The user of this class should be able to use the object in a statement like C = A + B; where A, B and C are instances of the NumDays class. Main must show that the class and all the operators work correctly.

Week 1 Programming Assignment 2

This problem starts with the FeetInches class that is provided in the course Content area on the assignment page for this week. This program will show how classes will interact with each other as data members within another class. Modify the FeetInches class by overloading the following operators which should all return a bool. 

  • <=
  • >=
  • !=

Next add a copy constructor to the FeetInches class and a multiply function.

  • The copy constructor should accept a FeetInches object as an argument. It will assign the feet attribute the value in the argument’s feet attribute and do the same for the inches attributes. 
  • The multiply function should accept a FeetInches object as an argument. The argument object’s feet and inches attributes will be multiplied by the calling object’s feet and inches attributes. It will return a FeetInches object containing the result of the multiplication. 

Next create a class called RoomDimension which will have its class declaration in RoomDimension.h and its implementation in RoomDimension.cpp. This class will have two data members which have a data type of FeetInches, one for the length of the room and another for the width of the room. The multiply function in FeedInches will be used to calculate the area of the room. RoomDimension will have a function that returns the area of the room as a FeetInches object. 

Next create a class called RoomCarpet class that has a RoomDimension object as an attribute. This class will have its class declaration in RoomCarpet.h and its implementation in RoomCarpet.cpp.  It should also have an attribute for the cost of the carpet per square foot. It will have a member function that returns the total cost of the carpet. For example, a room that is 12 feet long and 10 feet wide has an area of 120 square feet. If the cost per square foot is $8 then the cost to carpet the room will be $960 (120 x 8).

The main for this program will create an instance of RoomCarpet and ask the user for the dimensions of the room and the price per square foot for the carpet. The application should then display the total cost of the carpet. It should allow the user to continue doing more calculations until the user indicates they are done. 

Quiz 1

Take the weekly quiz in the course environment.

Week 2: Inheritance, Polymorphism, and Virtual Functions
Reading

Read Chapter 15. Be sure you can review all of the Checkpoint questions as well as complete the Review Questions and Exercises.

Discussion 2

Why are classes important in object oriented programming?  How do they make programming better?  Do they make it easier?

Programming Assignments

The following assignments must be completed with all source code files, including .cpp and .h (.h files only needed when working with classes), submitted to the correct dropbox by the end of the week.

Week 2 Programming Assignment 1

Customer Data. This program will have two classes. The first class defines a person, which means this class can be used for anything that involves a person. We will use it to define a Customer but it could be used to define a Student.

Create a class called PersonData and it will have its class declaration in PersonData.h and its implementation in PersonData.cpp. This class will have private data member’s lastName, firstName, address, city, state, zip and phone number as strings. Write the appropriate accessor and mutator functions for these member variables. It should have two constructors. One constructor is a default constructor that sets all of the data members to empty strings. A second constructor has parameters for all of its data members.

Create a class called CustomerData which will have its class declaration in CustomerData.h and its implementation in CustomerData.cpp. This class will be a derived class of PersonData. This class will have two private data members for the customer number (customerNumber) as an integer; the other will be called mailingList which is a bool to indicate if they want to be on the mailing list or not. Write appropriate accessor and mutator functions for these data members. This class will also have two constructors. It will have a default constructor that sets its data members to zero and false. The other constructor will have parameters to set all of the data members of the two classes.

Create a program that will create two instances of the CustomerData class. It must create one instance using the default constructor and then another using the second constructor. Once both instances are fully populated with data, call a function that will display the customer information.

  • void displayCustomer(CustomerData c)
Week 2 Programming Assignment 2

Define a class called BasicShape which will be a pure abstract class. The class will have one protected data member that will be a double called area. It will provide a function called getArea which should return the value of the data member area. It will also provide a function called calcArea which must be a pure virtual function.

Define a class called Circle. It should be a derived class of the BasicShape class. This class will have 3 private data members. It will have 2 long integer data members called centerX and centerY. The last data member is a double called radius. It will have a constructor that accepts values for centerX, centerY and radius. This constructor should call the overridden calcArea function of this class. This class defines its version of the calcArea function which determines the area of the circle using the formula area = 3.14159 * radius * radius. The class will also provide two functions called getCenterX and getCenterY which return the correct values.

Define a class called Rectangle. It should be a derived class of the BasicShape class. This class will have 2 private data members called width and length. Both data members should be long integers. Its constructor will have parameters for both the width and length. It will also override the calcArea function. For this class the calcArea function will use the formula area = length * width. It will provide member function called getWidth and getLength which should return the correct values.

In main create instances of the Circle and Rectangle classes. It should then display the area of the two shapes using a function defined as

  • void DisplayArea(BasicShape* shape)

Quiz 2

Take the weekly quiz in the course environment.

Proctor Information
Submit your proctor form to the appropriate Dropbox folder by the end of the week. Remember to “Save” the form before placing it in Dropbox. See the Content area for more information.
Week 3: Exceptions, Templates, and Standard Template Library
Reading

Read Chapter 16. Be sure you can review all of the Checkpoint questions as well as complete the Review Questions and Exercises.

Discussion 3

Exceptions are normally looked at as error states.  Can you think of an example when one might not be an error, but an indication of something else?

Programming Assignments

The following assignments must be completed with all source code files, including .cpp and .h (.h files only needed when working with classes), submitted to the correct dropbox by the end of the week.

Week 3 Programming Assignment 1

Write a class called TestScores. The class constructor should accept an array of test scores as its argument. The class should have a member function that returns the average of the test scores. If any test score in the array is negative or greater than 100, the class should throw an exception. There should be two classes for the exceptions; one should be called NegativeScore and other should be TooLargeScore. These exception classes will have a data member that is an integer value called score. This data member will be set in the constructor via the parameter. It should also provide a member function called getScore which returns score data member. The function in TestScores called getAverages will calculate the average (as a double) of the test scores in the array. The function getAverages will also check if the score is negative or greater than 100. If it is negative it should throw an exception using the NegativeScore class. If the score is greater than 100 it should throw an excpetion using the TooLargeScore class.  Main will create the instance of the TestScores class and catch the exceptions. So it needs to handle both exceptions and display the error message with the score that is invalid. 

Week 3 Programming Assignment 2

Create a class called MinMax which will be a template class. The class will have two data members which have a data type of the template. The class will provide two member functions called minimum and maximum. The function minimum will determine which of the two data members is the lower of the two and return that value. The function maximum will determine which of the two data members is the larger of the two and return that value. Create a program that creates 3 instances of this class for the data types int, double and char.

Quiz 3

Take the weekly quiz in the course environment.

Week 4: Linked List
Reading

Read Chapter 17. Be sure you can review all of the Checkpoint questions as well as complete the Review Questions and Exercises.

Discussion 4

What does polymorphism bring to the programming world?  Where would it be useful?

Programming Assignments

The following assignments must be completed with all source code files, including .cpp and .h (.h files only needed when working with classes), submitted to the correct dropbox by the end of the week.

Week 4 Programming Assignment 1

Design your own linked list class that works as a template class. It should provide member functions for appending, inserting and deleting nodes. The destructor should destroy the list. The class should also provide a member function that will display the contents of the list to the screen. The class should also provide a member function to search the list for an element in the list. The search should return the index (location) of the item in the list. So if it is the first element in the list then it should return 0. If the item is not in the list, it should return -1. Have main create two instances of the linked list with different data types and show that all of the functions work correctly. 

Week 4 Programming Assignment 2

In this program you will use the linked list created in Assignment 1. First you will create a class that holds information about the weather for a given month which should be called WeatherStats. It should have data members that are doubles to hold the amount of rain for the month and the amount of snow for the month. It will also have a data member that holds the number of sunny days during the month. It should provide accessors and mutators for the private data members. Main will create an instance of the linked list with a data type of the WeatherStats (LinkedList<WeatherStats>). The program should ask the user for how many months they wish to enter weather statistics for. The program will then prompt the user for that information (rain, snow and sunny days). The data needs to be stored in the WeatherStats class and it should be appended to the linked list. Main must then call a function that displays the data in the list; this function will call the display function in the linked list. Main will call a function that determines the month with the largest and smallest amount of rain, snow and sunny days. This function should not be part of the linked list. It should appear in the same file as main. A function will need to be added to the linked list that provides an item from the list. The function in the linked list will return the object stored in the list. The function in main will need to request each item in the list one at a time. Another solution is to create a derived class of the linked list, which does all of the work for finding the largest and smallest. 

Quiz 4

Take the weekly quiz in the course environment.

Week 5: Stacks and Queues
Reading

Read Chapter 18. Be sure you can review all of the Checkpoint questions as well as complete the Review Questions and Exercises.

Discussion 5

What are the advantages and disadvantages of implementing a stack/queue with an array versus a linked list? Name some applications of stacks and queues.

Programming Assignments

The following assignments must be completed with all source code files, including .cpp and .h (.h files only needed when working with classes), submitted to the correct dropbox by the end of the week.

Week 5 Programming Assignment 1

Write your own version of a class template that will create a dynamic stack of any data type. The pop function must return a bool; it should return a false if it was not able to pop an item off the stack. Otherwise it returns true. The parameter to the pop function is passed by reference and should be the item on the list if it was able to pop something. Create a driver program (main) that shows that the stack works for at least two different data types. 

Week 5 Programming Assignment 2

In this program you will use the stack class you created in Assignment 1. First you will create a class called InventoryBin. This class will have its class declaration in InventoryBin.h and its implementation in Inventory.cpp. It will have three private data members, an integer serialNum which holds the part’s serial number, manufactDate which should be a string that holds the date the item was manufactured, then lotNum which will be an integer that holds the part’s lot number. The program should then create a stack with a data type of InventoryBin (stack<InventoryBin>). The program should loop asking the user to enter in new items to the inventory stack or to remove an item from the inventory stack. The loop should continue until the user indicates they are done. This should be menu driven. When adding an item, the program should ask the user for the information it needs for the 3 data members of the InventoryBin class and add a new item to the stack. When removing an item from the stack, the program should display all of the information in the InventoryBin object that was popped off the stack. When the program ends, it should pop all of the remaining items off the stack and display the data that is in the Inventory items as it pops them off. There should be 3 utility functions that main uses.

  • void popItem(DynStack<InventoryBin>* stack) // pops the item off the stack and displays it.
  • void pushItem(DynStack<InventoryBin>* stack) // pushes the item onto the stack
  • int menu();  // displays the menu and returns the user’s choice.
Quiz 5

Take the weekly quiz in the course environment.

Week 6: Recursion
Reading

Read Chapter 19. Be sure you can review all of the Checkpoint questions as well as complete the Review Questions and Exercises.

Discussion 6

Is there an advantage of using recursion rather than loops? What other problems, besides what is in the book, can be solved using recursion?

Programming Assignments

The following assignments must be completed with all source code files, including .cpp and .h (.h files only needed when working with classes), submitted to the correct dropbox by the end of the week.

Week 6 Programming Assignment 1

Write a function that uses recursion to raise a number to a power. The function should accept two arguments, the number to be raised and the exponent. Assume that the exponent is a nonnegative integer. Show that this function works correctly for several values.

Week 6 Programming Assignment 2

Write a function that accepts an integer argument and returns the sum of all the integers from 1 up to the number passed as an argument. For example if 10 is passed as an argument, the function will return the sum of 1,2,3,4,5,6,7,8,9 and 10. Use recursion to calculate the sum. Show that this function works correctly for several values. 

Quiz 6

Take the weekly quiz in the course environment.

Course Evaluation
Please evaluate the course. You will have an opportunity to evaluate the course near the end of the session. A link sent to your CougarMail will allow you to access the evaluation. Please note that these evaluations are provided so that I can improve the course, find out what students perceive to be its strengths and weaknesses, and in general assess the success of the course. Please do take the time to fill this out.
Week 7: Binary Trees
Reading

Read Chapter 20. Be sure you can review all of the Checkpoint questions as well as complete the Review Questions and Exercises.

Discussion 7

The STL library has many useful things in it. In this course we cover some of them. What else does the STL library have in it? Give a short description of it.

Programming Assignments

The following assignments must be completed with all source code files, including .cpp and .h (.h files only needed when working with classes), submitted to the correct dropbox by the end of the week.

Week 7 Programming Assignment 1

Create a class (BinaryTree) template that will create a binary tree that can hold values of any data type. The class should provide functions to insert a node, a function to delete a node, functions to display the tree In Order, Pre Order and Post Order.  It should also provide a member function to search the tree for a value. The class should provide a function that counts the number of nodes in the tree, a function to count the number left nodes in the tree, and a function that determines the height of the tree. The height of a tree is the number of levels the tree has. Write a program that shows all these functions work. 

Week 7 Programming Assignment 2

In this program you are going to use the binary tree class you created in Assignment 1 this week. First create a class called EmployeeInfo that holds two private data members. One data member is an integer called empID which holds the id number of the employee. The second data member is a string called empName which holds the full name of the employee. The program will create an instance of the binary tree class with a data type of EmployeeInfo (BinaryTree<EmployeeInfo>). The binary tree will be sorted by the Employee ID number found in the EmployeeInfo class. The program should then allow the user to search for Employee by the Employee ID. If the employee is found in the tree, its name and ID should be displayed. If not, a message should be displayed indicating that it was not found. Sample data would be

  • 1021       John Williams
  • 1057       Bill Witherspoon
  • 2487       Jennifer Twain
  • 3769       Sophia Lancaster
  • 1017       Debbie Reece
  • 1275       George McMullen
  • 1899       Ashley Smith
  • 4218       Josh Plemmons
Quiz 7

Take the weekly quiz in the course environment.

Course Project
This project can be started in Week 7 but is due by the end of Week 8. See the course project document in the course Content area.
Week 8: Rest, Recover, and Review
Class Activities

This week will be reserved for catching up on any assignments, discussing any topics or issues that have arisen, and preparing for the final.  

Discussion 8

Why is object-oriented programming the preferred way of programming? Or is it?

Course Project

This project can be started in Week 7 but is due by the end of Week 8. See the course project document in the course Content area.

Final Exam

You will have two hours to complete the exam.  The final may be taken any time this week, but MUST be taken by Saturday. You will take it in a proctored environment. See the Proctor Policy in the Course Policies section below for information about finding an appropriate proctor.



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

Your grade will be based in large part on the originality of your ideas and your written presentation of these ideas. Presenting the words, ideas, or expression of another in any form as your own is plagiarism. Students who fail to properly give credit for information contained in their written work (papers, journals, exams, etc.) are violating the intellectual property rights of the original author. For proper citation of the original authors, you should reference the appropriate publication manual for your degree program or course (APA, MLA, etc.). Violations are taken seriously in higher education and may result in a failing grade on the assignment, a grade of "F" for the course, or dismissal from the College.

Collaboration conducted between students without prior permission from the instructor is considered plagiarism and will be treated as such. Spouses and roommates taking the same course should be particularly careful.

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

Students with documented disabilities who may need academic services for this course are required to register with the office of Student Accessibility Resources. Until the student has been cleared through this office, accommodations do not have to be granted. If you are a student who has a documented disability, it is important for you to read the entire syllabus as soon as possible. The structure or the content of the course may make an accommodation not feasible. Student Accessibility Resources is located in Student Affairs in AHSC 215 and can be reached by phone at (573) 875-7626 or email at sar@ccis.edu.

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 for up to one week past the due date for credit on a sliding scale.  For instance, an assignment that is 3.5 days late will receive 50% credit; an assignment that is 6 days late will receive 14.3% credit.

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 Helpdesk, or the D2L Helpdesk for assistance. 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.


+

Request info