Introduction to Computer Programming I

CSC-121 Spring 2015

Course website and syllabus:

Quick Link: Moodle


Andrea Tartaro

General Information

Assignments & Grades

There are numerous types of assignments for this course - programming is a very hands-on activity and the more you do, and the different ways you think about it, the better you will become at it. Learning to program is like learning a foreign language: if you do not speak it during some part of every day your progress will be quite slow.

But before I discuss the different assignments, a note on collaboration. Working together is a great way to more fully explore the concepts of the course. At the same time, independent work is also critical so both you and I know that you fully understand the material on your own. Thus assignments are designed to balance opportunities to work together and individually. Please read what forms of collaboration are acceptable for each assignment, and ASK ME when in doubt. Whenever you work with another student, indicate who you worked with on the assignment (eg. in the header comment of the code).

There will be weekly homework exercises. Homework exercises are for you to play with and reinforce the concepts we talk about in class. Homework exercises should be completed independently. Exercises will be assigned by noon on Fridays, and due by the beginning of class on the following Thursday.

There will be labs where you will work on exercises in-class and receive help from myself and the lab assistants. You may work with your peers on lab assignments, but you must hand in your own assignment and indicate any collaborators.

There will be two in-class exams that must be completed individually (you can study with whomever you choose).

There will be two projects (larger programming assignments) that must be completed individually.

There will be independent and/or group in-class exercises. These will not be announced in advance and are to motivate you to keep up and provide feedback on your progress.

Finally, class attendance and participation is a critical component of the course. Please discuss any necessary absences with me (see below).

Handing in assignments: For all assignments, you will turn in both a hard copy in class AND an electronic copy on moodle. Homework assignments must be submitted on moodle PRIOR to class on the day they are due, and hard copies handed in at the START of class (there is no formal collection process - YOU are responsible for turning in your assignments). Lab assignments must be submitted on moodle and in hard copy by the end of lab. Requiring a hard copy and an electronic copy helps both you and me. The electronic copy has a timestamp to indicate your submission is on time. In addition, it allows me to test any programs you submit. The paper copy is what is returned to you with comments and your grade. I cannot grade an assignment if I do not receive BOTH a paper copy and an electronic copy! And, if I cannot grade an assignment, you will receive a 0. For any programming assignments, whether you work on your own computer or on the system at Furman, ultimately your program must run on the lab computers - so be sure to test it before handing it in. Labs and in-class exercises will also be submitted on moodle.

Grade Allocation

Policies, etc.

Basic Course Requirement

In order to pass the class you must earn a passing grade. In addition, you must also meet the following basic requirements. Before the final exam time for the course, you must complete and submit at least 50% of the homework assignments/projects and 50% of the lab assignments. You must also take both the midterm and final exams. In other words, you cannot blow off an entire aspect of the course (homeworks, labs, exams) and pass the class! Note that this basic requirement is necessary but not sufficient to pass the class.

Email Policy

It is a course requirement to check your email at least once per day. Important announcements regarding assignments and class meetings will be sent via email.


Class participation is a critical component of the course and attendance is mandatory. In addition, there are numerous hands-on activities and in-class exercises. Please discuss any necessary absences (eg. athletics, religious holidays, emergency, illness) with me PRIOR to class or lab. You may be asked to make up for missed material. You will not receive credit for make-up material if you did not discuss your absence with me prior to class or lab.

Late Assignments

Late homework exercises will drop your grade by 10% per day, and must be handed in by the following Tuesday prior to class to receive any credit. Missing lab must be approved prior to class (see Attendance above) and made up prior to the next lab.

Students with Disabilities

It is the policy of Furman University to make reasonable accommodations for qualified individuals with disabilities. I encourage students with disabilities to make an appointment to meet with me as soon as possible to discuss accommodations that might help facilitate your learning. You will need appropriate documentation from the University's Disability Services Coordinator. All discussions will remain confidential.

Academic Integrity

(adopted by the Department of Computer Science)

The ready availability of information in digital form necessitates that a clear definition of plagiarism be provided for the context of computer science coursework. Plagiarism is a form of dishonesty when a person expresses words or ideas as his or her own without attributing another person as the true source or contributor of those words or ideas. In computer programming, for instance, words are computer code and ideas are the algorithms or design of code.

Although you are engcouraged to discuss requirements of assignments and to help others with general programming concepts, all work you submit as your own should be your own. You may never use code and algorithms from anyone else to complete a program that you submit for credit unless the original source of the code is clearly documented in the comments. This documentation must include the names of individuals or complete citations of books or articles and must describe the ideas or code you are using. Unless otherwise stated in the requirements, it is assumed that sources outside the course textbook, class notes and handouts, and designated teammates are forbidden even if those sources are correctly cited.

The following activities are considered serious instances of academic dishonesty:

There are many opportunities for peer tutoring that do not fall under the category of plagiarism. These opportunities include the following examples:

As stated above, you may collaborate with your peers on labs, though you must hand in your own completed assignment and indicate the student(s) you worked with. You may not collaborate with peers on homework assignments. Viewing another person's homework assignment or showing your assignment to another student is forbidden.

How to succeed in this course


Available on Moodle.