Information
Contents
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
Gradescope grades your submissions right away
You can complete the assignment on your computer locally, which means not worry about JupyterHub downtime or other issues
Automatic code similarity detection. The system can detect cheating and generate a PDF output to hand over to the Office of Academic Integrity.
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.