Welcome to Software Carpentry (EN.540.635). This website will hold all supporting information and resources for the course. Typically, Tuesdays will be lab-based sessions and Thursdays will be lectures (there are a few exceptions). Lecture videos will be available ahead of time and watching them before the example-based, in-person lecture is watched. Please come prepared with questions you may have regarding the lecture material. Homework and project submission will be through Canvas.
Any feedback regarding the course, its material and logistics, is welcome. We are trying to develop and adapt this course over each semester. There is an anonymous suggestion box setup here.
Syllabus
Lectures
Lecture material will be available here.
-
Lecture 3 - Introduction to Python (pptx, pdf, code_example_1, code_example_2, environment_setup, video)
-
Lecture 4 - Python Imaging Library (PIL) (pptx, pdf, video, autopep8_example PIL_demos)
-
Lecture 6 - Functions, Classes, and Graphing (video, pptx, demo_1, demo_2, demo_rectangle)
-
Lecture 7 - Variable Scope, Recursion and Data Structures (pptx, pdf, video)
-
Lecture 9 - Inheritance and User Interface (pptx, pdf, inheritance, video)
-
Lecture 10 - Efficiency, Big O Notation and Compiled Language (pptx, pdf, video)
- Lecture 11 - Searching Algorithms and Gradient-Based Minimization in Optimization Problems (pptx, pdf, video)
-
Lecture 12 - Data Mining, APIs and Machine Learning (pptx, pdf, video, great_resource)
- Lecture 13 - Primer in Latex (pptx, pdf, tex, video)