Class meetings¶
Tue Thu 9:00-10:50 AM
250 Mathematics Building
Instructor¶
Bernard Badzioch
E-mail: badzioch@buffalo
Office: 108 Mathematics Building
Office Hours: Thu 2:00-4:00 PM, and by appointment
Learning Outcomes¶
This course provides introduction to scientific computing using Python programming language. At the end of the course you should be able to use Python and its libraries to perform scientific computation, access, manipulate and visualize data, and apply some methods to perform data analysis and modeling. The work on the course projects you will also help you improve your technical writing skills.
Course Resources¶
Laptop. We will be writing code during all class meetings. For this reason you need to bring a laptop to each class. Any operating system (Windows/Mac/Linux) is fine.
Software. We will be using the Anaconda distribution of Python. This is free software. Even if you have Python already installed on your computer you should install this distribution since it includes Jupyter Notebook and several Python libraries we will need. If you have a previous version of Python installed, please upgrade it so you don’t run into possible compatibility issues.
Piazza. We be using Piazza for course-related communications. If you have a question or comment related to the course please post it on Piazza. This will help other students who may face the same issue. If you know the answer to a question somebody else posted on Piazza please answer it.
If you have a personal question (concerning your grade etc.), you can either send to me a private message on Piazza or contact me by e-mail.
UBLearns. In this course UBLearns will be used for submission of project reports only. All other course materials will be posted on this website.
Grading¶
There will be no exams in this course. Instead, grades will be assigned based on the following components:
| Component | Weight |
|---|---|
| Project Reports | 80% |
| Quizzes | 10% |
| Weekly Digests | 10% |
Project Reports¶
One the main components of this course will be exploratory projects. You will be working on them largely independently, using mathematical and computing tools. The outcome of your work on each project will be a project report that you will submit for grading.
Each report will be graded on the A-F scale. Extra credit (a grade of A+) may be assigned for an outstanding work. Some projects will require more effort than others. To reflect it, each project will have a weight of up to 10 points, with 10 points for more work-intensive projects, and fewer points for shorter ones. The cumulative grade for all reports will be computed by:
converting the letter grade for each report into credits (A = 4.0, A- = 3.67, B+ = 3.33 etc.);
multiplying credits for each report by the report weight and adding all these products;
dividing the resulting number by the sum of weights for all reports;
converting the number obtained in step 3 to a letter grade.
The lowest report grade will be dropped when computing the cumulative report grade.
Reports will be submitted via UBLearns. Late reports will not be accepted only in case of justified emergencies etc. More information about project reports is posted here.
Quizzes¶
There will be several short quizzes, mostly testing your knowledge of Python. Quizzes will be announced on the course website ahead of time.
Weekly digests¶
Each week you will be asked to submit a short (2-3 sentences) writeup on your study from the previous week. For example, you can write:
what topics you have found interesting (or boring)
what topics you have found difficult (or easy)
how you feel about the course
anything else you want to share.
You will be also asked to submit a question (or questions) regarding the course.
You can receive up to 10% credit for these writeups. You can miss one such assignment without loosing any credit, but your weekly digest credit will be lowered by 2% for each subsequent missed assignment (i.e. from 10% to 8% etc.).
I may award extra credit to students who are especially active in the course.
AI Policy¶
Use of AI tools (such as ChatGPT, Gemini, Claude etc.) is not allowed when preparing project reports. Any use of such tools will be considered a violation of UB Academic Integrity Policy. In case of questions if you wrote some part of your report yourself, I may ask you to explain it in person.
Incomplete Grades¶
See the UB Catalog for the UB Incomplete Policy.
Academic Integrity¶
See the UB Catalog for the UB Academic Integrity Policy.
Accessibility Resources¶
If you need accommodations due to a physical or learning disability please contact the UB Accessibility Resources Office to get help with making appropriate arrangements.