This lesson is being piloted (Beta version)

Introduction to Software Engineering Concepts and Python

Schedule

09:30 1. Background and Introduction Why should we care about software?
Why is software engineering important?
What are the key differences between programming and software engineering?
Why are the course topics we’ll be learning important for me to know?
10:00 2. Introduction to using Python What is Python?
How do I use the Python interpreter?
How do I use variables?
10:30 3. Jupyter Notebooks as an Integrated Development Environment What is a Jupyter Notebook and what are the advantages of using one?
How can I analyse example numerical data in Python?
11:15 4. Break
11:30 5. Containers How can I store many values together?
11:50 6. PyCharm as an Integrated Development Environment What is PyCharm 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 7. Lunch
13:30 8. Procedural Programming What is the Procedural paradigm?
How do I define functions in Python?
When should I use the Procedural paradigm?
14:40 9. Break
15:00 10. 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:10 11. Wrap-up Key question (FIXME)
16:20 Finish

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