ITP 115 Programming in Python Spring 2022
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
ITP 115
Programming in Python
Spring 2022
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
• Zoominformationforstudents
• Blackboardhelpforstudents
• SoftwareavailabletoUSCCampus
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
A-
B+
B
B-
C+
C
C-
D+
D
F
>= 93
>= 90 and < 93
>= 87 and < 90
>= 83 and < 87
>= 80 and < 83
>= 77 and < 80
>= 73 and < 77
>= 70 and < 73
>= 67 and < 70
>= 65 and < 67
< 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.
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.
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
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 diferent 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.
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.
2022-01-21