This lesson is being piloted (Beta version)

Introduction to Software Engineering Concepts and Python

Schedule

09:30 1. Welcome and Q&A How important to modern research is software?
How is software typically written in academia?
Why should we take the effort to write software well?
What are we going to learn today?
What will happen after this course?
10:15 2. Brief Introduction to the Bash Shell What is the Bash shell?
How do I use the shell to run programs?
How do I navigate the file system using the shell?
10:30 3. Introduction to using Python What is Python?
How do I use the Python interpreter?
How do I use variables?
11:25 4. Containers How can I store many values together?
11:50 5. VSCode as an Integrated Development Environment What is VSCode and what are the advantages of using it?
How can my scripts do different things based on data values?
How can I do the same operations on many different values?
12:30 6. Lunch
13:30 7. Q&A Session Any content questions or problems?
14:00 8. Procedural Programming What is the Procedural paradigm?
How do I define functions in Python?
Why should we separate code into functions?
15:00 9. Object Oriented Programming What is the Object Oriented paradigm?
What is an object?
What is encapsulation?
How do I encapsulate data in Python?
When should I use the Object Oriented paradigm?
16:30 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.