MEng Software Engineering
Year of entry: 2020
Course unit details:
|Unit level||Level 1|
|Teaching period(s)||Semester 1|
|Offered by||Department of Computer Science|
|Available as a free choice unit?||No|
This course introduces the basic concepts of imperative computer programming using the Python language. The basic principles of becoming a good programmer will be taught through two lectures a week, one in a ‘TED-talk’ style and the second being a live coding session. In addition there are weekly offline workshops designed to test your logical thinking and problem solving, and finally, a weekly laboratory session giving you a chance to put all of your new skills into practice.
|Unit title||Unit code||Requirement type||Description|
By the end of this course unit students will be able to:
- Write simple python programs using best practice methods
- Optimise & correct a pre-existing code base
- View and complete programming tasks in a logical manner
- Explain basic programming constructs and describe their manifestation in different programming languages.
- Explain what a given (simple) program does.
- Design programs to solve given (simple) problems.
- Implement maintainable solutions to problems using appropriate development tools.
- Evaluate the quality of code (correctness, maintainability, efficiency).
- Estimate the development time needed to implement a solution to a problem.
- Identify appropriate programming resources (tools, libraries) needed to implement a solution to a problem.
Week 1: Variable, Types and State
Week 2: Iteration
Week 3: Selection
Week 4: File Handling
Week 5: Creating Functions
Week 6: Reading Week
Week 7: Packages and Libraries
Week 8: Graphics and Key Binding
Week 9: Validation and Exceptions
Week 10: Searching and Sorting Algorithms
Week 11: General Introduction to OOP
Week 12: Revision Week
Teaching and learning methods
22 in total, 2 per week
12 in total, each one hour long, run as an offline session designed to enhance your skills as a programmer
12 in total, each is a two-hour session assisted by an academic and TAs. Labs are formatively assessed and are designed to aid with coursework in this course unit.
|Practical skills assessment||50%|
Formative feedback during workshops, laboratories and MCQs. Summative feedback with assessments.
|Scheduled activity hours|
|Practical classes & workshops||24|
|Independent study hours|
|Gareth Henshall||Unit coordinator|