Fork me on GitHub

Intermediate Python



Course Description

Utilizing Python 3, Intermediate Python is a project-based class in which you will learn the ins and outs of the Python language beginning where the introduction class left off. This class takes a new approach to learning python and integrates with many of the same technologies you would see working in the development world such as GitHub and cloud IDEs. This course will give you the tools and experience you need to apply the Python programming language in real world scenarios upon completion. Required Book: Think Python 2nd Edition by Allen B. Downey. A copy will be provided for you free of charge and is also available for free via eBook.

Computers are provided in the lab, however you are encouraged to use whatever device you feel most comfortable with and are more than welcome to bring a laptop/tablet/hybrid/etc if you wish.


Prerequisites

  • ITSE-2079 - Introduction to Python or novice knowledge of Python and OOP languages.
  • Understanding of variables, data types, and basic function usage in Python 3
  • Basic understanding of HTML and CSS

These prerequisites are more of a guideline as opposed to hard requirement. You can still take the class without them, but it could prove to be more difficult. The first couple classes will be a high level overview of Chapters 1-8 of Think Python 2nd Edition. We will be completing the exercises in class as a refresher.


Course Grading

Despite the fact that this class is not for credit, we will be keeping track of grades throughout the course and a final grade will be submitted at the end. Information about how grading will work is below:


Grade Assignment

Letter Percentage
A+ Above 100%
A 90% - 100%
B 80% - 89%
C 70% - 79%
D 60% - 69%
F Below 60%


Makeup Quiz/Exam Policy

  • There is no limit to the number of quiz/exam makeups that you can take.
  • Quizzes and exams may only be taken once and you make only makeup a Quiz/Exam if you are absent.
  • Makeup quizzes/exams must be arrange before or immediate after your absence from class.
  • Makeup quizzes/exams may be different and more difficult than the missed quiz/exam.


Assignment Grading

Assignments will typically be completed in class and will simply be graded on a completion status. If you turn in a complete and running program, you will receive an A. If no assignment is turned in, then you can expect a 0 regardless of whether you were in the class it was assigned in or not. Assignments will be worth a total of 10 points each.


Project Grading

Each project will have a grading rubric distributed along with the assignment description. This rubric will outline the possible point values for each project category and how to get the highest grade possible. Assuming that your program runs and meets all of the requirements, you should expect at least an A. Projects will be worth 100 points each.


Extra Credit

You may have noticed that an A is the highest grade that is achievable by meeting what is expected of you. Yet there is A+ listed in the grade assignment. This is because extra credit will be available on most projects, quizzes, exams, and periodically throughout the class (in the form of optional challenge assignments). If you happen to miss an assignment or do poorly on a quiz, this will help ensure you keep your grade high. If you do well on everything and don’t miss assignments, this will give you extra padding on your grade and possibly even add the coveted ‘+’ to your A. Extra credit assignments will be worth 1-10 points each based on difficulty.

Typically extra credit will just be the Challenge of the Day (CotD) from CodeSignal. I like to expose this resource to you for mutliple reasons, but mainly because when it comes to learning and retaining programming knowledge, practice is key. This resource is a contant source of problems that help with just that. Not to mention, you can learn just about any language there. :) The extra credit amount will be based on the points it’s worth. Where n is equal to the number of points on code fights: extra_credit = (n/1000)*2.


Missing Class

If you miss a class, you will likely either miss the opportunity to turn in an assignment, miss the assignment of work, or possibly both. If you know you are going to miss a class or miss one unexpectedly, work can be turned and assignments requested via email. Work must be turned in by the beginning of class on the day due or you will get no credit. No exceptions.


Tentative Schedule

Date Description Assigned Due Extra Credit
Tues / 05/28 Course Introduction / IDE / Git Overview N/A N/A CodeSignal CotD
Thur / 05/30 Python Review: CodeSignal Arcade N/A CF EC CodeSignal CotD
Tues / 06/04 Chapter 9: Case Study: word play 9.7-9.8, Proj 1 N/A CodeSignal CotD
Thur / 06/06 Chapter 10: Lists 10.11, 10.12 9.7-9.8 CodeSignal CotD
Tues / 06/11 Chapter 11: Dictionaries / Project 1 Work Time 11.5, 11.6 10.11, 10.12 CodeSignal CotD
Thur / 06/13 Chapter 12: Tuples 12.3, 12.4 11.5, 11.6 CodeSignal CotD
Tues / 06/18 Chapter 13: Case Study: data structure 13.5, 13.6, Proj 2 12.3, 12.4, Proj 1 CodeSignal CotD
Thur / 06/20 Chapter 14: Files 14.3 13.5, 13.6 CodeSignal CotD
Tues / 06/25 Chapter 15/16/17: Classes and Objects/Functions/Methods 16.2 / 17.2 14.3 CodeSignal CotD
Thur / 06/27 Chapter 18: Inheritance / Chapter 19: The Goodies 18.3, 19.1 16.2 / 17.2 CodeSignal CotD
Tues / 07/02 Full Stack Development Overview / Project 2 Work Time N/A 18.3, 19.1 CodeSignal CotD
Tues / 07/09 Django Introduction N/A N/A CodeSignal CotD
Thur / 07/11 Making a Resume/Portfolio in Django / Cloud Services N/A Proj 2 CodeSignal CotD
Tues / 07/16 Deploying Django on AWS / Getting a Job As a Programmer N/A N/A N/A