Skip to the content.

Course Content

WeekTopicLecture 1Lecture 2Lecture 3LabAssignment
0 Introduction 0.1 L0
1 Math Operators, Data types and Booleans 1.1 1.2 1.3 L1 A1
2 Selection Statements and Conditionals 2.1 2.2 L2
3 Practice Trace_Tables Trace_Tables Exam 1 A3
4 Functions 4.1 4.2

Trace_Tables
4.3

Trace_Tables
L4 A4
5 Functions (continued) Trace_Tables 5.2 L5
6 Loops, using while 6.1

Trace_Tables
6.2 6.3

Trace_Tables

Nested_Loops
(Supplementary Notes)
L6
7 Practice 7.1

Trace_Tables
Practice_Exam Exam 2 L7
8 Time and Random functions 8.1 8.2 L8 A5
9 Lists 9.1 9.2 9.3 A6
10 Strings, Sets and Tuples 10.1 10.2 10.3 L10
11 Practice 11.1 Practice_Exam Exam 3 L11
12 For Loops 12.1 12.2 L12
13 Dictionaries 13.1 13.2 A7
14 File I/O 14.1

countries.txt

words.txt
14.2 A8

presidential_speeches.tsv

cities.csv


Instructor Information

Dr. Fahad Sultan
Office: Riley Hall 200-D
Phone: 864-294-3755
Email: fahad.sultan@furman.edu
Web: https://courses.furman.edu

Office Hours (or by appointment):

Monday: 1:30 PM - 4:30 PM
Thursday: 9:30 AM - 12:30 PM

Class Meeting Times (Dates Subject to Change)

Lecture:
CSC-121-01Riley Hall 106Mondays, Wednesdays, Fridays10:30 AM -11:20 AM
CSC-121-02Riley Hall 106Mondays, Wednesdays, Fridays11:30 AM -12:20 PM

Lab:
CSC-121-01Riley Hall 201Wednesdays2:30 PM - 4:30 PM
CSC-121-02Riley Hall 201Thursdays2:30 PM - 4:30 PM

Course Description

CSC-121 is an introduction to computer programming course for students with little or no prior programming experience. Python programming language will be used in this class. The course aims to teach computational thinking and inculcate an appreciation of the role computation can play in solving problems from virtually any area of study or discipline. The course further aims to instill a strong sense of confidence in the students to i) write small to medium length computer programs ii) apply the acquired computer programming skills to their desired major towards a problem of their interest and iii) pursue further education in the area in a formal higher education setting or on their own after the course.

Course Goals

On successful completion of the course, students should be able to:

Textbook

None.

Recommended Python Resources

Development Environment(s)

Grading Scale


(subject to change,
letter grade +/- at instructor's discretion)
grade >= 90%A
80% <= grade < 90%B
70% <= grade < 80%C
60% <= grade < 70%D
grade < 60%F

Grading Specifications


Assignments 20%
Class Participation10%
Labs10%
Exam 115%
Exam 215%
Exam 315%
Final15%

Required Computer:

All students are expected to bring a laptop to every class and follow along the instructor on their computers during the lecture. Students will be required to submit in-class work on Moodle for it count towards class participation. Please see me if you do not have access to a laptop.

Additional Course Guidelines

Some General Advice:

Seek Help:

It is to your advantage to communicate with me whether in class, in my office, or via email. I plan to maintain an open-door policy between 9:00 AM -5:00 PM, Monday to Friday, unless I am in a meeting or teaching a class. You are strongly encouraged to visit me in my office or request a meeting via email with any questions, comments or observations about the class.

Other Policies and Resources:

Minimum Requirements: In order to pass this class, you must (1) earn a passing grade, (2) submit at least 50% of all in-class submissions, labs, and (3) take all exams. Simply, you cannot blow off an entire aspect of the course and pass this class! Note that this basic requirement is necessary but not sufficient to pass the class.

Assignment Submissions: Please follow the protocol stated in the assignment description; including file names, file extensions, header comments, inline comments, naming conventions, and input / output conventions as described in the assignment.

Grading Policy for Programming Assignments: All programming projects have been constructed with very explicit instructions for your benefit. Every effort has been made to remove ambiguity. However, there are times when the English language fails and multiple interpretations are possible; in this case, please email the instructor. If the question merits a larger audience, the instructor may reply with a broadcast email.

Accompanying each programming assignment will be a rubric that describes how grades will be assigned. Please use the accompanying rubric to help guide you in completing and testing your programming assignments.

A critical element in software development is the need to thoroughly test your code. If you submit a program that does not execute without intervention from the instructor, you will earn at most 50% of the points.Code that does not compile (or is not recognized by a Python interpreter) is extremely difficult to grade effectively, efficiently, and fairly. Therefore, you must make every effort to submit source code that, minimally, executes.

The definition of compilation (interpreted in the Python language) is multi-faceted.
  1. Your code must compile as a stand-alone unit. If not, 50% will be lost.
  2. All of your code must meet all specifications in the assignment in order to compile with my testing code. In most cases, I will use my own testing code to determine correctness. If your code does not compile with my testing code, you will minimally lose 50% of all points on each method or function for which compilation fails.
Electronic Devices: The use of cell phones in class is considered completely disrespectful and doing so will result in your being asked to leave the classroom. Cell phones must be silenced in the classroom; if you have an emergency or other concern for which your phone needs to be accessible, please let the instructor know in advance.

Late Assignments: A 40% penalty will be assessed to any graded item that is submitted after the deadline. Failure of technology or your failure to use technology effectively is not an acceptable excuse. No graded item will be accepted more than 48 hours after a deadline under any circumstance; please plan accordingly. Late electronic submission is via email.

Lab Times: Lab assignments may not be relegated to the 2-hour lab block. Some labs may begin in class and end in class. For example, a lab may begin in class on Tuesday, continue during the lab time, and end during Thursday class. The instructor will provide detailed expectations for each lab.

Lab Grading: If you are absent from lab, you will receive a zero for the lab. If you leave lab (or class) early without seeking permission from the instructor a reasonable amount of time before the lab/class, your lab grade will be reduced by the percentage of lab/class missed. Labs will not be accepted via email unless requested by the instructor.

Exams: There will be three midterm exams in addition to a cumulative final exam. The midterm exams will be held during the normal class period. All exams are closed book and closed notes.

Remote Access: No remote access to the course will be granted unless there is formal, University documentation that states the student will not be able to attend in-person.

Accommodation Requests: I encourage students with disabilities to make an appointment to meet with me as soon as possible to discuss ways I can help facilitate your learning. All discussions will remain confidential. The Student Office for Accessibility Resources is committed to helping qualified students with disabilities achieve their academic goals by providing reasonable academic accommodations under appropriate circumstances. If you have a disability and anticipate the need for an accommodation in order to participate in this class, please register with the Student Office for Accessibility Resources. They will assist you in getting the resources you may need to participate fully in this class. You can contact the SOAR office at 864.294.2320 or at soar@furman.edu. You can find additional information and request academic accommodations at the SOAR webpage.

Attendance policy: Students need to consistently engage with the material inside and outside of class. Any dates on which you will not be able to attend class due to a planned absence must be discussed with the instructor in advance. Please arrive to class on time and do not leave early, unless arrangements have been made with the instructor; leaving early without permission will be counted as an absence. Arriving to class more than 10 minutes late will be counted as an absence. Regular attendance is expected. Formally, we will follow the Furman University Catalog: A freshman who exceeds 15% of the class meetings or an upperclassman who exceeds 25% for any reason will be in violation of the maximum established by the University (p. 40 of the Furman University Catalog) and will be dropped from the course with a grade of “F.”

There will be NO ‘makeup’ assessments without a valid, documented conflict (illness, University sponsored event, etc.). If you have such a conflict, please contact the instructor at least one week in advance of the assessment date to make arrangements; for final exam conflicts, see below. For absences due to illness, this class will follow protocols as established by Furman University administration and the discretion of the Earle Student Health Center. Minimally, inform the instructor of your absence due to illness as soon as possible.

Final Exam Conflicts: Final exam conflicts will be handled according to the Furman University Catalog policy: Requests to take the final exam at a time that differs from the University final exam schedule must be approved by the Associate Academic Dean. (“Any instructor who wishes to administer the final examination at a time other than the one specified on the final exam schedule must secure the approval of the department chair and the Associate Academic Dean,” from the Furman University Catalog.)

Academic Integrity: Academic Integrity standards are important to our Furman community and will be upheld in this class. Students should review the Academic Integrity Pledge posted in the classroom and resources available on www.furman.edu/integrity. In this class, the grade penalty for an academic integrity violation is an F for the course. Academic Discipline procedures will be followed through the Office of the Academic Dean.

You may freely give and receive help with: You should not allow any of the following actions. Copying any part of another person's program or allowing your program to be copied is not permitted. A variety of methods will be used to detect copying. Citations: If you consult with any source (other than the textbook or the instructor) to complete an assignment, you should credit that source with a citation. Sources that should be cited include friends, classmates, tutors, websites, and any books other than the textbook. A friend or tutor should never complete an assignment for you. You should never copy and paste large segments of code from a website. It is sometimes acceptable to copy small segments of code from a website (3 lines or fewer), but the website should be cited.

Additional Resources in the Center for Academic Success (CAS; LIB 002)

: The Writing & Media Lab (WML) is staffed by student Consultants who are trained to help you improve your writing and multimodal communication skills. The consultation process is non-directive and intended to allow students to maintain ownership of their work. In addition to helping with the nuts and bolts, WML Consultants also support you in developing your own ideas thoughtfully and critically, whether you’re writing an essay or planning a video or other multimedia project. You may drop into the WML during its regular hours (LIB 002; 9 AM to 10 PM) or visit the Writing and Media Lab website to make an appointment online.

Peer Tutors are available free of charge for many classes and may be requested by dropping by CAS (LIB 002) or on the Center for Academic Success website. Tutors are typically recommended by faculty and have performed well in the class.

Professional Academic Assistance Staff in CAS can provide students assistance with time management, study skills, and organizational skills.

The Writing and ESL Specialist provides professional writing support as well as support for students whose primary language is not English.

Nondiscrimination Policy and Sexual Misconduct

Furman University and its faculty are committed to supporting our students and seeking an environment that is free of bias, discrimination, and harassment. Furman does not unlawfully discriminate on the basis of race, color, national origin, sex, sexual orientation, gender identity, pregnancy, disability, age, religion, veteran status, or any other characteristic or status protected by applicable local, state, or federal law in admission, treatment, or access to, or employment in, its programs and activities.

If you have encountered any form of discrimination or harassment, including sexual misconduct (e.g. sexual assault, sexual harassment or gender-based harassment, sexual exploitation or intimidation, stalking, intimate partner violence), we encourage you to report this to the institution. If you wish to report such an incident of misconduct, you may contact Furman's Title IX Coordinator, Melissa Nichols (Trone Center, Suite 215; Melissa.nichols@furman.edu; 864.294.2221).

If you would like to speak with someone who can advise you but maintain complete confidentiality, you can talk with a counselor, a professional in the Student Health Center or someone in the Office of Spiritual Life. If you speak with a faculty member, understand that as a "Responsible Employee" of the University, the faculty member MUST report to the University’s Title IX Coordinator what you share to help ensure that your safety and welfare are being addressed, consistent with the requirements of the law.

Additional information about Furman's Sexual Misconduct Policy, how to report sexual misconduct and your rights can be found at the Furman Title IX Webpage at www.furman.edu/titleix. You do not have to go through the experience alone.