AVÊÓƵ

School of Engineering and Informatics (for staff and students)

Programming through Python (990G5)

Note to prospective students: this content is drawn from our database of current courses and modules. The detail does vary from year to year as our courses are constantly under review and continuously improving, but this information should give you a real flavour of what it is like to study at Sussex.

We’re currently reviewing teaching and assessment of our modules in light of the COVID-19 situation. We’ll publish the latest information as soon as possible.

Programming through Python

Module 990G5

Module details for 2024/25.

15 credits

FHEQ Level 7 (Masters)

Module Outline

This module will allow you to develop a full range of coding skills from procedural basics through to Object Oriented Programming and Graphic User Interface design and implementation. . No prior programming knowledge is presumed. You will gain theoretical knowledge and practical skills, with learning will take place through a combination of lectures and practical workshop sessions and an incremental coursework assignment to develop a complete application. You will also benefit from peer review of your work – a process where you can learn the art of coding through sharing of good practice with others. Coding is a core computer science skill widely applicable in, and transferable to, commercial data science and analysis scenarios.

Indicative Content
• Workflow – overview of Python and PyCharm; using variables and creating code.
• Basic code constructs – using alternation (if) and repetition (for, while). Introducing lists.
• Functions – inbuilt and defining your own.
• Object Oriented Programming (OOP) – what is it? Defining a class.
• More on OOP – polymorphism.
• More on data structures – lists, stacks and dictionaries.
• Dealing with errors and testing – unit and system level testing.
• Scientific computing – using NumPy.
• Building a Graphical User Interface (GUI) with Tkinter.
• More advanced GUI design and layout – using layout managers.

Module learning outcomes

Systematically understand, and be able to successfully carry out, the write-edit-run cycle of software development in Python in an appropriate software development environment.

Systematically understand and deploy originality in the application of fundamental programming concepts such as variables, conditional statements, looping constructs, and procedures (methods).

Systematically understand basic Object Oriented (OO) concepts such as object, class, abstraction, hierarchy modularity and encapsulation

Systematically understand, and deploy originality in the application of knowledge to use simple built in data types such as Arrays, Strings, Lists, Dictionaries and some of the common library classes

TypeTimingWeighting
Multiple Choice questionsSemester 1 Assessment Week 1 Wed 16:0060.00%
Coursework40.00%
Coursework components. Weighted as shown below.
ProjectXVAC Week 1 100.00%
Timing

Submission deadlines may vary for different types of assignment/groups of students.

Weighting

Coursework components (if listed) total 100% of the overall coursework weighting value.

Dr Benjamin Evans

Assess convenor
/profiles/555479

Dr Peter Wijeratne

Assess convenor
/profiles/596509

Dr Daniel Creed

Assess convenor
/profiles/112868

Please note that the University will use all reasonable endeavours to deliver courses and modules in accordance with the descriptions set out here. However, the University keeps its courses and modules under review with the aim of enhancing quality. Some changes may therefore be made to the form or content of courses or modules shown as part of the normal process of curriculum management.

The University reserves the right to make changes to the contents or methods of delivery of, or to discontinue, merge or combine modules, if such action is reasonably considered necessary by the University. If there are not sufficient student numbers to make a module viable, the University reserves the right to cancel such a module. If the University withdraws or discontinues a module, it will use its reasonable endeavours to provide a suitable alternative module.

School of Engineering and Informatics (for staff and students)

School Office:
School of Engineering and Informatics, AVÊÓƵ, Chichester 1 Room 002, Falmer, Brighton, BN1 9QJ
ei@sussex.ac.uk
T 01273 (67) 8195

School Office opening hours: School Office open Monday – Friday 09:00-15:00, phone lines open Monday-Friday 09:00-17:00
School Office location [PDF 1.74MB]