Principles of Software Engineering

Self-learning course

Site Updated On: August 17, 2022
For More Info Email: richard.regan@durham.ac.uk
Principles of Software Engineering

General Information

Requirements: Participants must have access to a computer with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on. They should have a few specific software packages installed (listed below).

Accessibility:

We are dedicated to providing a positive and accessible learning environment for all. Please get in touch you require any accommodations or if there is anything we can do to make this lesson more accessible to you.

Contact: Please email or richard.regan@durham.ac.uk for more information.


Surveys

Please be sure to complete this survey after the lesson.

Please input the date as the date you started the materials.

Post-Lesson Survey


Lesson Outline


Schedule

1. Software Development Lifecycle What is a software development process?
Why is a development process important?
What are the different development stages?
2. An Introduction to Python What are the key parts of Python we’ll need to know for the rest of the material?
3. Functions and Classes How can we structure our data and code to help us keep track of larger programmes?
4. Programming Paradigms How does the structure of a problem affect the structure of our code?
5. Best Practices in Writing Code How do I write code to ensure that others, including myself, will be able to continue to understand it?
What can I do to ensure my code can be used, modified and extended in the future?
6. Survey
Finish

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


Setup

To participate in this lesson, you will need access to software as described below. In addition, you will need an up-to-date web browser.

The instructions for all the software can be found on the setup page.