Professional Documents
Culture Documents
Syllabus
Instructor: Dr. Steven Shaffer, 338C IST. Send all email correspondence via ANGEL email to "All
Faculty". There is an entire team available to support you and you will do yourself a disservice if you
email me only.
IMPORTANT
I have a lot of students in this course; there is no way that I can maintain order and fairness while
giving any student special consideration such as handing in material late, rescheduling the final for
your convenience, etc. If you have a specific disability which needs to be accommodated, you must
follow the rules from the office of disability services.
Accommodation for late submissions of work are already built into the course structure.
Required: Introduction to Programming Using C++ and SimpleC++ Version 2.0 by Steven Shaffer.
Go to http://procopyonline.com to order. You should be able to order the book starting around mid-
December. If you are not in the United States, email me at scs12@psu.edu with the subject line
BOOK ORDER.
Required: How Computers Work 9th edition, by Ron White. ISBN 0-7897-3613-6.
Letter grades:
• 94% and above: A • 78%-79.9999%:C+
• 90%-93.9999%:A- • 70%-77.9999%:C
• 88%-89.9999%:B+ • 60%-69.9999%:D
• 84%-87.9999%:B • 0%-59.9999%: F
• 80%-83.9999%:B-
Course schedule (subject to change; check ANGEL email for changes):
Mini problems can be completed at any time throughout the semester. The weeks shown are suggested due
dates/times.
Quizzes: Quizzes are taken through ANGEL. They are multiple choice / true-false and are based on
the course material as listed in the course schedule above. These quizzes are “open book” but you
should not rely on being able to look up the answers during the quiz; if you are not intimately
familiar with the material you will not do well on the quizzes. The quizzes have a time limit of 15
minutes, which is enough if you are prepared but not enough if you plan to look up the answers
during the quiz. You may use your textbooks or other printed notes during the quiz. You may not use
a compiler or any other electronic tool during the quiz. You are not allowed to print out or otherwise
capture the quiz questions. Late quizzes lose 9% + 1% per day. All quizzes must be completed by the
last day of the semester. Always verify that your quiz has been received by ANGEL before assuming
it is complete.
SimpleC++: The text includes a simplified language called SimpleC++. The purpose of this
language is to make understanding C++ easier. You may find that looking at these examples will
make the concepts easier.
Assignments: Assignments are shown on the course schedule and are drawn from the text.
Assignments 1-11 will be submitted through APES; there is a video to show you how to use APES.
Assignments 12.1-13.4 will be submitted through ANGEL; these are time consuming, so you should
start a few weeks early. Assignments automatically lose 9% + 1% per day late. All assignments must
be completed by the last day of the semester.
Final: The final exam is proctored; be sure that you understand the requirements for proctoring
early in the semester to make sure that you will be able to comply. The final will test your ability to
complete several programming assignments correctly within the given time period. Note that you
will be required to actually write an operational program under time constraints during the tests.
Unfortunately, there are unscrupulous people who will cheat – this is somewhat easier in a distance
education format, and the proctored, timed, final exam is how we tell if you have done the work
yourself. For practice, you should do all of the solved problems and practice problems in the text as
well as the problems assigned by me for credit.
Answers to final exam programming questions must be submitted via the APES software and
ANGEL (as a backup) before you leave the proctor.
Be certain to check that your entry was received by APES and ANGEL before leaving.
WHY YOU SHOULD NOT GIVE AWAY THE ANSWERS TO OTHERS: Besides the fact that
it is immoral and a violation of the University Academic Integrity policy, I will “curve” the grades at
the end of the semester if appropriate. If you give away the answers to your buddy, and he to his,
pretty soon you are the only one with a 7 out of 10.
How your APES assignments (and final exam) are graded: All files submitted must have the
.cpp extension (which happens to be a plain text file format). If you submit in the wrong format
you will get a zero, so be certain to check your results before assuming your submission is proper.
You can submit multiple times, but only when you have selected submit for grading will your
program be considered handed in to be graded. All assignments will be graded as shown below.
• If your program works for all "runs" (see below), then you start out with 100%. If it only works for
(for example), three of four "runs" then you start out with a 75% (3/4). This is calculated
automatically and you will be able to see if it works for all "runs" before you submit your program
for grading.
• If your submission is late, then you lose 9% + 1% per day it is late. A "day late" starts when the due
date/time has passed. This is calculated automatically.
• Poor formatting and comments, as defined by me, you will lose 5-20% depending on the situation.
This is graded manually.
• If you "hard code" your answers to the problem (see below), you could lose all of the points for the
assignment. This is graded manually.
• If your program does not follow specifications (e.g., the assignment says use a FOR loop and you
use a WHILE loop), then you could lose all of the points for the assignment. This is graded manually.
• If you use any aspect of C++ which is not part of the material for the course, you could lose as
much as 100% off of the assignment. Sometimes there are advanced features of the language which
would nullify the point of an assignment, the purpose of which is to demonstrate your understanding
of a basic concept. Do not use any aspect of C++ that is not covered in the text up to the point where
the assignment is assigned. This is graded both automatically and manually.
What is a "run"?
A "run" is when your program is executed by the computer. For the first assignments, your programs
will not be using any input, so your program will only "run" once. Once you have learned to process
input, your program will be "run" several times with different data. Your grade is based to a large
extent on how many of the "runs" match the expected output.