CS112: Introduction to Computer Programming (Spring
2015)
Section 001/004
1 Course Basics
Meeting Time and Location:
- Section 001: TR 12pm-1:15pm, Enterprise Hall 178
- Section 004: MW 3pm-4:15pm, ENGR Bldg 1101
Instructor: Dr. Yutao Zhong
- Email: yzhong (at) gmu (dot) edu
- Office: Engineering Building 5337
- Schedule
(Tentative)
Course Outcomes:
- An ability to use procedural programming language concepts
including expressions, decision statements, simple data types,
Boolean logic, input/output, loop constructs, and procedures.
- An ability to combine programming techniques to solve problems
of varying degrees of difficulty.
- An ability to refine computer programs through testing and
debugging to ensure proper operation.
- An ability to find and understand programming language
documentation to learn new information needed to solve
programming problems.
Prerequisite:
C or better in MATH 104, 105, or 113 (or sufficient score on the
math placement test). Corequisite: CS Majors must also be enrolled
in CS 101 this semester.
Textbook:
- Required - CS112 class workbook: TBA first lecture.
- Optional - Zyante online textbook.
- Sign up at Zyante.
- Enter zyBook code: GMUCS112Spring2015
- Subscribe using any credit card
- Optional - The Practice of Computing Using Python by
William Punch & Richard Enbody © 2011. An eText
version is available.
Other Useful Resources:
- Piazza:
Announcements, lecture slides, assignments, discussion. GTA/UTA
contacts and office hours will be on Piazza too.
- Blackboard:
Grades and assignments submitting.
- Marmoset
instructions: Project submitting.
2 Grading
Category
|
Percent
|
Projects
|
40%
|
Lab assessment
|
15%
|
2 Tests
|
20% (10% each)
|
Final exam
|
25%
|
Assessment
- A+ (>= 98.0%) A (>= 92.0%) A– (>= 90.0%)
- B+ (>= 88.0%) B (>= 82.0%) B– (>= 80.0%)
- C+ (>= 78.0%) C (>= 72.0%) C– (>= 70.0%)
- D (>= 60.0%)
- F (< 60.0%)
Projects
Programming projects will be a primary focus of your grade - each
one should take multiple sessions of coding, with questions asked
in between. This is the practice you need to learn, master, and
internalize various concepts of the course.
-
Submission
- All programming project must run on Marmoset to be
considered for credit. All projects will be automatically
graded on Marmoset. See the Marmoset
submission instructions. Under no circumstances will
credit be given for a project, except through Marmoset.
- Note that Marmoset accepts multiple assignment submissions;
we will grade the submission with the highest score. You can
also download your previous submissions from Marmoset to
verify that you turned in a working copy.
-
Deadline
- All programming projects must be submitted by the deadline
to be considered for full credit. Projects that are up to one
day late will be tolerated, but are subject to a penalty
of 20%. No assignment will be accepted for credit after
last class meeting.
- Marmoset being unavailable is not an excuse for turning in a
late assignment; in the rare situation that the website is
somehow unavailable or giving the student an error, the
student MUST email their submission to their GTA before the
deadline, otherwise it will be considered late.
- Catastrophic computer failure will not be cause for an
extension. Use a backup service such as DropBox (or any cloud
service), emailing yourself, storing to a USB drive, whatever
it takes. Every semester multiple students' computers die, are
stolen, or otherwise 'lose' projects. Don't be the student who
forgot to (frequently) back up your work!
- Note that Marmoset accepts multiple assignment submissions;
we will grade the submission with the highest score. You can
also download your previous submissions from Marmoset.
-
Office hours
- For students seeking help with programming assignments
during office hours, students must identify the line number,
through debug print statements, where they believe an error to
be before seeing the TA or instructor. This implies that you
must have your own test cases, at least one of which that
fails, to bring to office hours before the TAs or instructor
can help you.
- For more general programming assignment questions, students
must bring their own pseudocode to office hours before the TA
or professor can help you.
- Under no circumstances will the professor or GTA reveal more
than three lines of code at a time during office hours.
Students must make significant, individual effort on all
projects before coming to see a GTA/professor. Waiting until
the last minute, in the expectations that the entire project
will be explained in one office hours session, is not
feasible.
- Office hours are often crowded - do not rely on them for
last minute help, as we cannot guarantee that we will be able
to spend significant time with every student. Use the
discussion board instead for posting questions.
-
Discussion board
- The discussion board on Piazza is required reading for
all projects. Although every effort is made to post
complete and consistent project specifications, because
projects are designed from scratch every semester, it is
inevitable that specs will change slightly throughout the
semester. You MUST read the discussion board daily for
clarifications and project updates, and you MUST be prepared
to implement these small potential changes.
- Students are encouraged to use the discussion board, Piazza,
to ask and answer questions. Responses to questions can be
expected within 24 hours, and often times much sooner (within
two hours or less during the day).
- Under no circumstances should code be posted publicly to
the discussion board. Students can post questions and
code privately, although the instructor reserves the right to
make any post public, so that other students can see the
responses.
- For students wishing to post their code privately to Piazza,
the same rules apply as when coming to office hours; if you
have code written, you must produce at least one failing test
case where you have identified what line number is giving you
problems.
-
Honor code
- Programming projects are considered individual efforts,
therefore no sharing of code and/or discussion of problem
solutions are allowed with anyone except the lab GTA, UTA or
the professor. Test cases must also not be shared. Student
projects will be manually and automatically assessed for
cheating. You may not look at or
otherwise view any other individual's code, pseudocode, or
test cases.
- You may not use any Internet resources to create code or
algorithms, besides the textbooks, the slides, and Piazza,
unless otherwise specified. However, you are free to look up
the syntax errors your encounter online, to gain an
understanding of what the syntax error means. The projects
we're doing this semester can be directly solved using
techniques discussed in class, and no outside material is
needed unless otherwise noted.
- It is your responsibility to lock your computers with
a password, to not post your code to websites like Pastebin
that are publicly accessible, to guard your USB drives and
computers, to not upload your files to someone else's
computer, etc. You will be liable for any access gained to
your code. Stating that "I don't know how he/she got access to
my code", or "I left the room and they stole my code" are not
an acceptable excuses in an honor code violation.
Lab assessment
- Weekly lab assessment may include quzzies and/or coding
assignments.
- We will drop your lowest lab grade.
- Any missed lab assessment is simply missed, regardless of the
reason why (travel, illness, work, traffic, receiving a major
award, getting married, saving the universe, etc.)
Exams
- Exams are closed book/notes unless specified otherwise by
instructor.
- They will be entirely paper and pencil - no computers.
- All students must have their GMU identification available on
testing days
- If you know in advance that you are unable to make an exam for
a valid and unavoidable reason (such as a scheduled surgery,
etc), you must notify the professor at least one week before the
scheduled exam date to make arrangements for a make-up, and
bring documentation with you when you take the make-up.
- If you miss an exam due to a university-accepted excused
absence (such as an illness or car accident the day and time of
the exam), you must notify your professor within 24 hours of
your absence to make arrangements for a makeup, and bring
approved documentation with you when you take the make-up exam.
Failure to follow either of these policies will result in a
zero. We may also elect to allow the final exam to count the
extra amount to give you a sort of do-over.
- The final will not be given early. You are starting the course
with knowledge of the schedule (see GMU's Final Exam Calendar
for the latest schedule, updated as weather events require).
- Per departmental policy, a failing grade on the final exam
(<60.0%) will result in a failing grade (F) for the entire
course, regardless of performance on other assignments. You
must pass the final exam to pass the course.
Other
- There will be no make-up or extra-credit assignments at the
end of the semester; your grade should be a measure of your
semester-long progress.
- Contesting of grades on any/all submissions must be requested
within one week of the item's return. No grade changes will be
considered subsequent to that deadline, or after the final exam
meeting.
3 Honor Code
All students are expected to abide by the GMU Honor Code.
This policy is rigorously enforced. All class-related assignments
are considered individual efforts unless explicitly expressed
otherwise (in writing). Cheating on any assignment will be
prosecuted and result in a notification of the Honor Committee as
outlined in the GMU Honor Code. Sharing, collaboration, or looking
at any code or algorithm related to programming assignments that
is not your own is considered cheating.
The computer science department has an additional, more
restrictive CS
Honor Code that you are also subject to. Make sure you read
and familiarize yourself with these rules. We use automated
software to flag suspicious cases, and then review them by hand to
find the cases that must be submitted to the Office of Academic
Integrity. The penalty for cheating will always be far worse than
a zero grade, to ensure it's not worth taking the chance.
Confirmed cases of cheating almost always translate into course
failure.
4 Learning Disabilities
Students with a learning disability or other condition
(documented with GMU's Office of
Disability Services) that may impact academic performance
should speak with the professor ASAP to discuss appropriate
accommodations.