You are on page 1of 4

CMPSCI 101DE

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.

Texts and Materials:

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.

You will also need access to the following software:


• Microsoft Visual C++ (free download from Microsoft)
• Internet Explorer or Firefox web browsers

How your grade is determined:


• Assignments 20 @ 20 pts each maxed out at 380 (1 freebie)
• Mini-problems: 54 @ 4 points each maxed out at 200 (4 freebies)
• Quizzes: 14 @ 15 points each maxed out at 195 (1 freebie)
• Final exam 300
• Total possible points 1075

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):

Week Material covered Mini-problems Quiz Assignment

1 Introduction; Using the compiler; Quiz 0 Assignment 0


Using APES (posted on
Angel)
HCW2 pgs 20-29 Quiz 1 Assignment 1
C+ + Chap 1 (in text)
2 HCW pgs 36-41, 48-51 Quiz 2 Assignment 2
C+ + Chap 2 (in text)
HCW pgs 52-62 Quiz 3 Assignment 3
C+ + Chap 3 (in text)
3 HCW pgs 68-71 Getting input Quiz 4 Assignment 4
C+ + Chap 4 from the user (in text)
4 HCW pgs 81-93 Arithmetic Quiz 5 Assignment 5
C+ + Chap 5 problems (in text)
5 HCW pgs 94-99 Simple Quiz 6 Assignment 6
C+ + Chap 6 conditionals (in text)
6 HCW pgs 95-103 While loops Quiz 7 Assignment 7
C+ + Chap 7 (in text)
7 HCW pgs 118-129 For loops Quiz 8 Assignment 8
C+ + Chap 8 (in text)
8 HCW pgs 132-135 Quiz 9 Assignment 9
C+ + Chap 9 (in text)
9 HCW pgs 194-205 Nested structures Quiz 10 Assignment 10
C+ + Chap 10 (in text)
10 HCW pgs 396-397 Quiz 11 Assignment 11
C+ + Chap 11 (in text)
11 HCW pgs 400-405 Quiz 12 Assignment
C+ + Chap 12 12.1-12.4 (in
text)
12 HCW pgs 406-411 Quiz 13 Assignment
C+ + Chap 13 13.1-13.4 (in
text)
All late submissions due by the last day of class at 11:55PM
Finals Proctored final exam as scheduled see instructions
week

Mini problems can be completed at any time throughout the semester. The weeks shown are suggested due
dates/times.

“HCW” = “How Computers Work” textbook


Programs from chapters typed in: Follow along with the chapters in the C++ book and type in and
run all of the examples, including those embedded in the chapters as well as those at the end of the
chapters. This is the best way to understand the material.

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.

Does my expected output have to match exactly?


Yes. You can re-run your program as many times as necessary until you have the expected output
matching exactly. APES will tell you if the output matches exactly or not. If not, you need to modify
your program until it does. If there is a disparity between the assignment description and what APES
says the output should be, APES wins. A primary goal is to make your output match in APES.

What is a "hard coding"?


When your program runs, it is possible to just have it output the exact characters that are being asked
for in order to "match" the expected output. This does not count as a valid program. Your program
must generate the output based on the requirements given, not just "spit out" the expected output.
This will become clearer as you get experience with the course.

You might also like