C++ PROGRAMMING
CS 255C

SPRING/SUMMER 2017 SYLLABUS
A SELF-STUDY COURSE
MOODLE LINK

Instructor | Texts |Objectives | Class Structure | Grading | Policies | Submissions | Readings

Last Updated 3-jan-17

Orientation

SPRING: You must attend a one of the one hour orientation session to the course that are tentatively offered at these three times in C102:

Please let the instructor know which of these times you will be attending.

Mondays at 4:00 p.m. in C102 will be a regularly scheduled weekly project review. Attendance is highly recommended.

SUMMER: Please contact the instructor for an office meeting or phone/Skype conversation regarding the course. Please use email to arrange for this meeting.

Visual C++ is the recommended platform for this course.  This development environemntis part of the Visual Studio .NET suite found on most lab computers.  There is a also copy of the Visual Studio C++ Express package on the CD supplied with the text. You may use any C++ compiler. We are not doing GUI development so the basic command line projects are sufficient.

Use of Visual Studio .NET for this course can be found at this link.


Instructor

Loren Rhodes
E-mail: rhodes@juniata.edu
Office: C208 BAC
Office phone and voice mail: (814) 641-3620
Cell phone: (814) 644-3309

Office Hours

are kept current on my home page. See the home page or my office door for recent changes; others office hours may be arranged by appointment.

Required text

Note the latest edition has been updated to C++ 2011 which has some significant changes in syntax. I actually prefer you learn the earlier C++, but not mandatory.


Objectives

The objectives of this course include the following:

The student should develop or enhance skills in the following areas:


Class structure

PLEASE NOTE: This is a self paced course with no formally scheduled class meetings. There are usually weekly meetings to discuss issues and approaches to some of the projects. Success in this course depends highly on your self discipline.  Office hours are to be used to ask questions and clarifications. Individual  meetings with the instructor may be required to go over work in progress.

Reading

The reading will comprise of roughly 50 pages per week from Deitel & Deitel. Since you should have had programming experiences prior to this course and that this C++ text assumes no such background, the reading should be relatively easy.

Assignments

The student is expected to do the reading as specified below prior to developing the associated program--the decidedly best use of your time.  There is often a choice of program for each week's assignment. The student must submit the assignment by Friday noon of the week via e-mail. The "how to submit" is described below.  The instructor will review the program by compiling and running the program with his own data set and reply with suggestions for improvements.  A grade will not be given on a per assignment basis.   If warranted, the assignment may be revised and resubmitted.

Comments and directives regarding each assignment will be posted in Moodle  It will be your responsibility to review the comments and make the corrections suggested.

At the end of the course, submit a 2-3 page reflection paper to Moodle as a reflection of your self-learning of the C++ language and/or critique of the language.  See below.

Help

Being a self-paced course, some concepts may not be easily grasped from the readings. The instructor is available during office hours for individual help on these matters. Please use the office hours for clarification. Be sure that you have identified at least one office hour per week that you can regularly come for questions and have programs reviewed. We may be able to do some of the discussion and program review by email.

E-mail is an ideal and preferred communication medium for short questions or clarifications.

Please send any questions with the subject line C++ QUESTION so that I may more easily respond.

 


Grading

A variant of the "portfolio method", analogous to the writing portfolios used in College Writing Seminar, will be used in this course. Students are required to submit programs to the instructor on a regular basis for review and critique according to the syllabus. The instructor will review your programs electronically with written critiques through Moodle. It is your responsibility to understand the critiques and either resubmit the project or apply the comments to future projects.

The first submission of each completed and documented program must be received by the instructor by no later than 5 p.m. Juniata College local time of the weekday designated below in the reading and assignment table. They must compile cleanly and be a viable solution to the problem. Programs may be revised once to include the suggestions given from the review and resubmitted.

There are 100 points for the 12 projects. Most projects are worth 10 points. A few at the beginning of the course are worth less. If the submission is acceptable you get all the points for the project. If it is late, then there will be points deducted. If the project has problems, it will be given a fairly low grade (e.g., 3 or 4 out of 10) and you will be given another week from the review to resubmit for full credit less late penalty points. On the second review, the project may receive a quality score of 10 or less, but no chance for a third submission.

There is a 1 point deduction from the final grade for each day late per program. If the program does not compile, nor is appropriately documented, nor is a reasonable solution to the problem, the program will be rejected as a submission, and the late penalty could apply. This is to discourage junk being sent in to stop the clock.

When subsequent revisions are requested, they are due in 3 working days (summer) or 1 week (Spring) from the time of the date of review. 

C++ Portfolio Overview

The final grade will be assigned based on the completeness, quality of the final programs in the portfolio, demonstrated improvement in programming skills over the course, timeliness of program submissions, attendance to the requested individual office meetings, and the reflection paper.

At the end of the course you must write a 2-3 page reflection paper describing what you learned about C++ and the process of learning a language on your own.  Send this paper electronically as your final submission.

All materials for the course, any final revised programs and the reflection narrative, must be submitted by Thursday 4:00 p.m. of Finals week--May 4, 2017 for Spring 2017 or by Friday 4:00 p.m. EDT, August 4, 2016 for Summer 2017.


Course policies

These standard course policies are described on this web page. Please read them carefully, especially on academic integrity. Exceptions to my standard policies for this course are given below.

In accordance with the Americans with Disabilities Act and Section 504 of the Rehabilitation Act, students with a documented disability are eligible to request reasonable accommodations. To make such a request or for more information, please contact Beth Bleil, Director of Disability Services, in the Office of Academic Support by visiting her office in Founders Hall, emailing her at bleilb@juniata.edu, or calling 814-641-5840. It is best to submit accommodation requests within the drop/add period, however, requests can be made at any time in the semester. Please keep in mind that accommodations are not retroactive.

Attendance

Does not apply, but you must submit viable C++ programs by the due dates given below.

Late program policy

Late submissions will have a negative effect on your final grade. A penalty of 1 point per school day late is deducted from your final grade. So a single program of 10 points and 10 school days (2 weeks) late will be a zero and ultimately reduce the final grade by a whole letter grade. However, extensions may be given in warranted situations that are agreed upon at least one day prior to the due date by instructor and student.

Please note that a program submitted which

will be rejected as a submission and therefore considered late. 


Program submission details

 

Tentative reading and assignment schedule

Readings are the pages from the chapter but do not include summary, terminology, common error, practices, tips, software engineering observations and self-review exercises corresponding to the reading. Be sure you review this material as well.

Advice and caution! Many students in the past have lamented that they skipped the reading and simply started the exercises and found they had to spend more time overall to complete them. Discipline yourself to read the material carefully before starting the exercise for the chapter. There will be content in the readings that you may not necessarily use for the chapter assignment but will use in a later assignment.  Start early each week to give yourself time to work through difficult concepts--and there are some difficult concepts particular to C++. Give yourself ample time to ask the instructor for clarifications.

SEE THE MOODLE SITE FOR DETAILS ON READINGS, PROJECT OPTIONS AND THEIR DETAILED DESCRIPTIONS.