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 Scientisthttp://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.