Information#

Please read this information carefully!

Topics#

  • Week 1 - Python Programming: Introduction, Python Basics (data types, mathematical operations, variables), Functions, Gradescope

  • Week 2 - Python Programming: Function Examples, Strings, Strings Examples, String Methods

  • Week 3 - Python Programming: Making Choices/Flow Control/Conditionals Examples, , List Comprehension

  • Week 4 - Python Programming: Lists, Tuples, Loops, File Handling, Modify loop execution, while loops, modify loop execution

  • Week 5 - Python Programming: List Comprehension, Sets, Dictionaries

  • Week 6 - Python Programming: Lambda, Filter, Map, Sorting, Python Errors, Exception Handling, Function Input, Scope

  • Week 7 - Python Programming: Object-Oriented Programming

  • Week 8 - Python Programming: Generators, and Iterators; Database Concepts: SQLite3

  • Week 9 - Database Concepts: SQLite3 continued, Python and Database

  • Week 10 - Working with Data: Numpys, Pandas, and database

  • Week 11 - Visualization: matplotlib, seaborn, plotly

  • Week 12 - Miscellaneous topics

  • Week 13 - Machine Learning with Python 1

  • Week 14 - Machine Learning with Python 2

Course Content#

  • Kritik Lecture Quizzes (8-9) - 20 %

  • Programming Assignments (7-8) - 40 %

  • Individual Mini-Projects (2) - 30 %

  • Group Project (1) - 10%

Quizzes#

  • Quizzes will be posted on Kritik on Fridays. They will be due the following Friday @11:59PM EST.

  • The purpose of the Quizzes is to assess your understanding of the topics covered in lectures.

  • The Quiz questions will be short answers.

Programming Assignments#

  • Descriptions for the programming assignments and necessary files will be posted on UB Learn.

  • You will submit your Python file on Gradescope.

  • You have unlimited submissions/retires until the deadline

  • We are Gradescope instead of JupyterHub/NBgrader because

    1. Gradescope grades your submissions right away

    2. You can complete the assignment on your computer locally, which means not worry about JupyterHub downtime or other issues

    3. Automatic code similarity detection. The system can detect cheating and generate a PDF output to hand over to the Office of Academic Integrity.

    4. Gradescope allows grading the assignment for style. Since style grading is manual, it will be done after the deadline has passed. I will point out poor style during lectures. All you have to do is avoid them!

  • We return the finalized programming assignment grades seven days after the deadline. We will announce via Piazza when the programming assignment grading has been completed. After this announcement, you have seven days to contest your grades.

  • Assignments will be posted on Mondays and due the following Mondays @ 11:59PM EST. Check Piazza for any changes in due dates.

  • No late submissions!

Mini-Projects#

  • Mini-projects are like programming assignments, but they are longer.

  • Description of mini-projects will be posted on UB Learns along with the required files.

  • You will submit your final solution via Gradescope.

  • You will have unlimited submissions/retires until deadline.

  • After the grades have been finalized, you have seven days to contest your grade.

  • No late submissions!

Group Project#

  • The purpose of the group project is to give you an opportunity to find a problem of your interest and solve it.

  • Start thinking about forming groups of 3-4 members.

  • More details will be provided later.