ITP115 Syllabus 20221

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

ITP 115

Programming in Python
Units: 2
Semester: Spring 2022
Section: Various
Days: Various
Times: Various
Location: Various

Instructors: Trina Gregory


Ray Kim
Barry Koster
Swamy Narayanaswamy
Calvin Nguyen
Rob Parke

Office: Listed on Blackboard


Office Hours: Listed on Blackboard
Contact Info: Listed on Blackboard

Course Teaching Assistants: Listed on Blackboard


Office Hours: Listed on Blackboard
Contact Info: Listed on Blackboard

IT Help: Provided by Viterbi IT


Hours of Service: 8am–5pm M–F
Walk-in: DRB 205
Contact Info: (213) 740–0517
Email: engrhelp@usc.edu
ITP 115

Course Description
This course is intended to teach the basics of programming in Python. Python’s high level data structures and clear
syntax make it an ideal first language, while the large number of existing libraries make it suitable to tackle almost
any programming tasks. Python offers an interactive environment in which to explore procedural, functional and
object oriented approaches to problem solving.

Learning Objectives
• Learn the syntax of the Python programming language.
• Implement a simple program by writing the code, testing the code, and debugging the program.
• Incorporating the use of sequential, selection, and repetition control structures into a program.
• Demonstrate an understanding of the design and implementation of functions and the passing of
parameters to simplify the solution of large problems and to promote the concept of code reuse.
• Implement programs using sequential input and output files.
• Demonstrate an understanding of the use of the list and dictionary data structures.
• Demonstrate an understanding of the basics of object-oriented programming by creating a class with
attributes and methods and then creating objects from that class.

Prerequisite(s): None

Course Notes
This course will make use of Blackboard (http://blackboard.usc.edu) for content and assignments. Lecture slides
and any supplemental course content will be posted to Blackboard for use by all students. All assignments will be
posted to Blackboard and will be submitted through Blackboard. Please familiarize yourself with Blackboard before
the course begins.

Technological Proficiency and Hardware/Software Required


Students will need a computer (laptop or desktop) and access to the internet. If you do not have access to a
computer, please see below. All software needed for the course is available for free.

The software needed for this course is available for free online. All homework and projects will need this software
to be completed (available for Mac and Windows). Download the latest version of Python 3.
Python 3.x https://www.python.org/downloads/

You will also need to download and install PyCharm, which is an integrated design environment (IDE) for writing
code and creating project. You may feel free to use another IDE such as Eclipse or NetBeans, especially if you are
already familiar with one.
PyCharm CE http://www.jetbrains.com/pycharm/download/
Choose the Free Community Edition

USC Technology Rental Program


We realize that attending classes online and completing coursework remotely requires access to technology that
not all students possess. If you need resources to successfully participate in your classes, such as a laptop or
internet hotspot, you may be eligible for the university’s equipment rental program. To apply, please submit an
application. The Student Basic Needs team will contact all applicants in early August and distribute equipment to
eligible applicants prior to the start of the fall semester.

USC Technology Support Links


• Zoom information for students
• Blackboard help for students
• Software available to USC Campus

Page 2 of 9
ITP 115

Recommended Readings and Supplementary Materials:


Wentworth, P., Elkner, J., Downey, A. B., Meyers, C. (2012). Learning with Python 3: How to Think Like a Computer
Scientist. http://openbookproject.net/thinkcs/python/english3e/

Grading Breakdown
Category % of Grade
Coding Assignments (weighted proportionally) 50
In-Class Labs 15
Test 15
Final Project 20
TOTAL 100

Grading Scale
Course final grades will be determined using the following scale
A >= 93
A- >= 90 and < 93
B+ >= 87 and < 90
B >= 83 and < 87
B- >= 80 and < 83
C+ >= 77 and < 80
C >= 73 and < 77
C- >= 70 and < 73
D+ >= 67 and < 70
D >= 65 and < 67
F < 65

For the Pass/No Pass grading option, you must earn at least 70% to pass.

General Policies
Students are expected to:
• Attend (or watch videos of) lectures and complete the in-class labs
• Complete the individual assignments
• Complete the test
• Complete the individual final project

Adding the Course after Week 1


Per university policy, students are allowed to add the course until the end of week 3. Any students wishing to add
the course should plan on attending the course from the beginning of the semester. Upon adding the course after
week 1, the student should email the instructor immediately to make a plan for completion of work and learning
missed materials. Any missed work is required to be completed and submitted according to the schedule provided
by the instructor. If you register for the class after assignments/labs are due, then you will have one week from
when you registered for the class to submit the assignments. If you add the class during the third week of classes,
then you must meet with the instructor to create a plan together on how to catch up to the rest of the class. By the
end of week 3, three labs and two assignments are due.

Page 3 of 9
ITP 115

Assignment Submission Policy


There will be approximately 10 coding assignments which will be due on Friday at 11:59 pm PT (Pacific Time). Each
assignment covers the material from the current week (and past weeks since concepts build upon each other) and
is due the following week. For example, Assignment 1 covers the material from week 1, and is due on Friday during
week 2. The assignments will be posted on Blackboard under the Weekly Modules. Each assignment will include
instructions and a link for electronic submission. Assignments must be submitted using this link. You must code the
solutions according to the content taught in this course. Using coding techniques and modules outside the content
of this course is not allowed and will receive 0 points. Each assignment must be completed individually. Do not
collaborate with other students for these assignments. If you need help, please ask for help by posting on Piazza
and attending office hours.

Assignment Late Policy


It is the student’s responsibility to submit assignments on or before the due date. Assignments may be submitted
within three days with a late penalty. Assignments turned in one day (24 hours) late will have 10% of the total
points deducted from the graded score. Assignments turned in over one day and up to two days (> 24 hours and <=
48 hours) late will have 30% of the total points deducted from the graded score. Assignments turned in over two
days and up to three days (> 48 hours and <= 72 hours) late will have 50% of the total points deducted from the
graded score. After three days, submissions will not be accepted, and the score for the assignment will be a 0.

You may ask for an assignment’s late policy to be waived for various reasons. This needs to be approved before the
due date of the assignment. To ask for a waiver, please contact the instructor using Piazza or email. Do not contact
CTAs for this since they are not authorized to approve these requests.

Assignment Grading Timeline


Assignments will be graded within two weeks. Students have one week to contest a grade once it has been posted
on Blackboard. After this one week, the grade will not be changed. To contest a grade, create a private post on
Piazza and select the grades folder. In the post, include your name, your instructor, your section, the assignment
name, and your reasons. This will allow the grader, instructor, and head CTA (Course Teaching Assistant) to view
your submission and make a decision. Do not email the grader directly. All communication regarding grading issues
needs to be seen and approved by the instructor.

In-Class Labs
There will be approximately 10 in-class labs, almost weekly. Of the labs that you are required to complete as
announced in class, the two lowest scores will be dropped. Labs are due on Saturday at 11:59 pm PT (Pacific Time).
The labs should be done the day they are assigned, but the deadline is being extended this semester due to the
ongoing pandemic involving Covid-19. Labs must be submitted on Blackboard. Late labs will not be accepted.

Test
This semester the test will be available for 24 hours or more and taken online to allow students to take it at home.
Make-up tests will not be offered, except for documented medical or family emergencies. If you will not be able to
attend a test due to an athletic game or other valid reason, then you must coordinate with the instructor before
the test is given. You may arrange to take the test before you leave, with an approved university personnel during
the time you are gone, or within the week the test is given. If you do not take a test, then you will receive a 0 for
the test.

If you need accommodations authorized by OSAS (Office of Student Accessibility Services), notify the instructor at
least one week before the test. This will allow time for arrangements to be made.

Final Project
The final project replaces the final exam. This comprehensive assignment will be due during Finals Week and needs
to be submitted by the due date. Late projects will not be accepted. If you do not submit a final project or if you
submit it past the deadline without instructor approval, then you will receive a 0 for the final project.

Page 4 of 9
ITP 115

ITP Computers
ITP has a limited number of laptops that are available to borrow for ITP classes. This semester, ITP is working with
Viterbi IT (VIT) to facilitate the shipping and/or pick-up of loaner devices for ITP students. Eligible students will be
able to borrow a MacBook or Dell XPS for ITP coursework once their request is approved and their contract is
signed via DocuSign. Though the initial loan period is 7 days, they will still be able to renew their device and extend
the loan period as in previous semesters. They will need to pop into one of ITP’s Zoom device check-in sessions
before the end of each week. If all of them have been checked out, then the student will be placed on the waiting
list. Information about the ITP Loaner Laptop Program and the request form can be found at
https://itp.usc.edu/current-students/itp-device-check-outs/

You will not be able to save your work on the ITP lab computers and the ITP laptops. Once they are restarted, all
work will be deleted. Use an external USB drive or a repository like GitHub or Dropbox to save your work. ITP is not
responsible for any lost work.

Attendance
Attendance is not part of the grading breakdown, although attending lectures will help you learn the material and
succeed in this class. If you are not able to attend synchronously, then it is your responsibility to watch the
recorded lectures and complete the in-class labs.

Remote Learning Policies/Zoom Etiquette


The instructor expects you to pay attention during lectures and be an active learner. Chatting while the instructor
is talking, texting on your mobile device, and participating on social media sites during class is disrespectful to the
instructor and your classmates. If you are not able to attend lectures, then you should watch the recorded lectures
and complete the in-class labs.

Synchronous session recording notice


All synchronous class sessions will be recorded and provided to all students asynchronously on Blackboard.

Joint Educational Project (JEP)


The Joint Educational Project (JEP) is a program that allows students to teach material learned in college classes to
K12 students in the local community. The JEP commitment is approximately 2 hours/week for 8 weeks. For
successful completion of JEP, based on the requirements as set by JEP, you will earn 1/3 of a letter grade extra
credit, meaning if you earn a B- in the class, you will receive a B. More info can be found at
https://dornsife.usc.edu/joint-educational-project/service-learning-opportunities/.

Academic Integrity
SCampus is USC’s Student Guide to Policies and Conduct Code and can be found at http://scampus.usc.edu.
Students will be referred to the Office of Student Judicial Affairs and Community Standards (SJACS) for further
review, should there be any suspicion of academic dishonesty. The Review process can be found at
http://www.usc.edu/student-affairs/SJACS/.

Assignments and projects in computer programming courses are different from those in some other types of
courses. Students may NOT collaborate, work together, share code, or in any way exchange solutions for
assignments and projects. Assignments may be analyzed by software that looks for similarity. Any sharing of ideas
or code will be considered a violation of academic integrity (cheating); an SJACS report will be filed with the
recommended penalty of an F in the course. Do not share your code with anyone else in this or a future section of
the course, as allowing someone else to copy your code carries the same penalty as you copying the code yourself.

If the instructor, a grader, or a lab assistant suspects you of academic dishonesty, it has to be reported to SJACS.
Do not share assignments with another person. Do not submit another person’s work as your own. Do not look at
other students’ papers during tests. Do not leave the room during a test without permission. Do not cheat! As
Trojans, we are faithful, scholarly, skillful, courageous, and ambitious.

Page 5 of 9
ITP 115

Sharing of Course Material


Do not reproduce, distribute, or post any lecture material, assignments, or tests publicly without the written
consent of the instructor. Students may take notes and make copies of course materials for their own use. They
may not post the course materials on sites such as CourseHero and Chegg. Doing so is a copyright violation and an
academic integrity violation that will be dealt with accordingly.

Communication
The preferred way to communicate with instructors and CTAs is posting on Piazza (http://piazza.com). All ITP 115
students, instructors, and CTAs will have access to the same class on Piazza. Information about accessing Piazza is
available on Blackboard. If you have questions about assignments, labs, tests, and other aspects about this course,
please post on Piazza. You are able to make public posts which all members can see and answer or private posts to
individuals. which are only accessible to instructors and CTAs. To make a private post to all instructors and CTAs,
next to “Post to” select the “Individual Students(s) / Instructor(s)” option and enter Instructors in the text field.

Students should NOT directly email the CTAs or graders: all correspondence with the CTAs should be done on
Piazza. If a direct email is required for any reason, the student must cc the instructor in the email.

OSAS Accommodations
If you have course accommodations authorized by OSAS (Office of Student Accessibility Services), please email the
instructor or post privately on Piazza and attach your accommodation letter by the end of Week 3. In the body of
the message, include your name and your class section. In addition, reach out the week before the test to discuss
details for coordinating specific text accommodations.

Impact of Covid-19
Due to the ever-changing situation of our lives due to the lasting impacts of Covid-19, it is our understanding and
expectation that faculty, staff, and students are doing their best to make learning a priority. However, health
concerns and external factors will affect everybody in different ways throughout the semester: from common
colds to covid exposure or illness and other health or family concerns. Therefore, we will all have to remain flexible
and understanding with one another and to give each other the benefit of the doubt. Each instructor will do their
best to assume the best of intentions from each of their students, and we ask that you do the same for us.

Page 6 of 9
ITP 115

Course Schedule: A Weekly Breakdown

Topics In-Class Lab* Lab Due Date Assignment Due Date**


Python Introduction
Week 1 Installation 1/14/2022 Assignment 1 1/21/2022
Print and Variables
Math Operators
Week 2 Lab 1 1/22/2022 Assignment 2 1/28/2022
User Input
Branching
Week 3 Lab 2 1/29/2022 Assignment 3 2/4/2022
Boolean Expressions
Week 4 While Loops Lab 3 2/5/2022 Assignment 4 2/11/2022

Week 5 For Loops Lab 4 2/12/2022 Assignment 5 2/18/2022


String Processing
Week 6 Lab 5 2/19/2022 Assignment 6 2/25/2022
Lists Part 1
Lists Part 2
Week 7 Lab 6 2/26/2022 Study for Test
Lists and String
Week 8 Test Test

Week 9 Functions Part 1 Lab 7 3/12/2022 Assignment 7 3/25/2022

Week 10 Functions Part 2 Lab 8 3/26/2022 Assignment 8 4/1/2022

Week 11 Files (read and write) Lab 9 4/2/2022 Assignment 9 4/8/2022

Week 12 Dictionaries Part 1 Lab 10 4/16/2022

Week 13 Dictionaries Part 2 Assignment 10 4/22/2022

Week 14 Objects Part 1 Final Project Work on Final Project

Week 15 Objects Part 2 Final Project Work on Final Project


Final Project due on
FINALS Final Project
5/6/2022

* To accommodate asynchronous students, each in-class lab is due on Saturday by 11:59 pm PT (Pacific Time).
** Each assignment is due on Friday by 11:59 pm PT.

Page 7 of 9
ITP 115

Statement on Academic Conduct and Support Systems

Academic Conduct:
Plagiarism – presenting someone else’s ideas as your own, either verbatim or recast in your own words – is a
serious academic offense with serious consequences. Please familiarize yourself with the discussion of plagiarism
in SCampus in Part B, Section 11, “Behavior Violating University Standards” policy.usc.edu/scampus-part-b. Other
forms of academic dishonesty are equally unacceptable. See additional information in SCampus and university
policies on scientific misconduct, policy.usc.edu/scientific-misconduct.

Support Systems:

Counseling and Mental Health - (213) 740-9355 – 24/7 on call


studenthealth.usc.edu/counseling
Free and confidential mental health treatment for students, including short-term psychotherapy, group counseling,
stress fitness workshops, and crisis intervention.

National Suicide Prevention Lifeline - 1 (800) 273-8255 – 24/7 on call


suicidepreventionlifeline.org
Free and confidential emotional support to people in suicidal crisis or emotional distress 24 hours a day, 7 days a
week.

Relationship and Sexual Violence Prevention Services (RSVP) - (213) 740-9355(WELL), press “0” after hours – 24/7
on call
studenthealth.usc.edu/sexual-assault
Free and confidential therapy services, workshops, and training for situations related to gender-based harm.

Office of Equity, Equal Opportunity, and Title IX (EEO-TIX) - (213) 740-5086 | Title IX – (213) 821-8298
eeotix.usc.edu
Information about how to get help or help someone affected by harassment or discrimination, rights of protected
classes, reporting options, and additional resources for students, faculty, staff, visitors, and applicants.

Reporting Incidents of Bias or Harassment - (213) 740-5086 or (213) 821-8298


usc-advocate.symplicity.com/care_report
Avenue to report incidents of bias, hate crimes, and microaggressions to the Office of Equity, Equal Opportunity,
and Title IX for appropriate investigation, supportive measures, and response.

The Office of Student Accessibility Services - (213) 740-0776


osas.usc.edu/
Support and accommodations for students with disabilities. Services include assistance in providing
readers/notetakers/interpreters, special accommodations for test taking needs, assistance with architectural
barriers, assistive technology, and support for individual needs.

USC Campus Support and Intervention - (213) 821-4710


campussupport.usc.edu
Assists students and families in resolving complex personal, financial, and academic issues adversely affecting their
success as a student.

Diversity at USC - (213) 740-2101


diversity.usc.edu
Information on events, programs and training, the Provost’s Diversity and Inclusion Council, Diversity Liaisons for
each academic school, chronology, participation, and various resources for students.

Page 8 of 9
ITP 115

USC Emergency - UPC: (213) 740-4321, HSC: (323) 442-1000 – 24/7 on call
emergency.usc.edu
Emergency assistance and avenue to report a crime. Latest updates regarding safety, including ways in which
instruction will be continued if an officially declared emergency makes travel to campus infeasible.

USC Department of Public Safety - UPC: (213) 740-6000, HSC: (323) 442-120 – 24/7 on call
dps.usc.edu
Non-emergency assistance or information.

Page 9 of 9

You might also like