- Lecture
- M/W/F 10:30 AM - 11:20 AM
- Location
- 356A Fitzpatrick Hall
- Zoom Meeting
- 948 3826 0745
- Mailing List (Class)
- sp23-cse-30332-01-group@nd.edu
- Mailing List (Staff)
- sp23-cse-30332-01-staff-list@nd.edu
- Slack
- #cse-30332-sp23
CSE 30332 is a required Junior-level course in the Computer Science and Engineering program at the University of Notre Dame. This course will introduce the idea of Programming Paradigms to students. It is a course that is heavily focused on practical programming, reflected in the design of both the homework assignments and semester project. Upon successful completion of the course, students will be able to:
All slides shown during the tutorial will be available here after the lecture is delievered. If you have any specific questions or topics you would like to see covered please enter them in the google form below. This form is anonymous. Before every lecture I will select a few of the most common questions to cover in addition to the stated topics.
Question submission linkUnit | Date | Topics | Assignments |
---|---|---|---|
Unit 01: Functional Programming | |||
Introduction | Wed 01/18 |
Syllabus,
Introduction to Paradigms Slides Panopto |
Homework 01 Project Intro |
Functional Programming Theory and Review | Fri 01/20 |
Systems Programming Review,
Lambda Calculus, and
Lambda Functions Slides Panopto Code |
|
Mon 01/23 |
Why bother with Functional Programming,
Reviewing Recursion,
Closures, and
Continuation Passing Style Slides Panopto Code |
||
Functional Programming in Python | Wed 01/25 |
Iterables,
Comprehensions,
Generators, and
Lazy Evaluation Slides Panopto Code |
|
Fri 01/27 |
car and cdr,
Sorting Slides Panopto Scheme Code Python Code |
||
Applied Functional Programming in Python | Mon 01/30 |
Folding Slides Panopto Code |
|
Wed 02/01 | Concurrency | ||
Fri 02/03 | Flex Day 1 | ||
Unit 02: Object-Oriented Programming | |||
OOP | Mon 02/06 | TBA | Homework 02 |
Wed 02/08 | TBA | ||
Fri 02/10 | Project Workday | Project Checkpoint 01 | |
Mon 02/13 | TBA | ||
Wed 02/15 | TBA | ||
Fri 02/17 | TBA | ||
Mon 02/20 | TBA | Homework 03 | |
Wed 02/22 | TBA | ||
ORM | Fri 02/24 | TBA | |
Mon 02/27 | TBA | ||
Flask | Wed 02/29 | TBA | |
Fri 03/03 | TBA | ||
Exam 01: Midterm Exam | |||
Midterm Exam | Mon 03/06 | Midterm Review | Homework 04 |
Wed 03/08 | Midterm Exam | Exam 01 | |
Fri 03/10 | Project Workday | Project Checkpoint 02 | |
Spring Break |
For the assignments in this class, you may discuss with other students and consult printed and online resources. You may quote from books and online sources as long as you cite them properly. However, you may not look at another student's solution, and you may not copy any significant portions of other's solutions. Furthermore, you may not utilize AI powered tools such as Co-Pilot or Tabnine for any of your programming assignments.
The following table summarizes how you may work with other students and use print/online sources:
Resources | Solutions | AI Tools | |
---|---|---|---|
Consulting | Allowed | Not Allowed | Not Allowed |
Copying | Cite | Not Allowed | Not Allowed |
See the CSE Guide to the Honor Code for definitions of the above terms.
If an instructor sees behavior that is, in his judgement, academically dishonest, he is required to file either an Honor Code Violation Report or a formal report to the College of Engineering Honesty Committee.