CS2PP: Programming in Python
Module code: CS2PP
Module provider: Computer Science; School of Mathematical, Physical and Computational Sciences
Credits: 20
Level: Level 2 (Intermediate)
When you'll be taught: Semester 2
Module convenor: Dr Todd Jones, email: t.r.jones@reading.ac.uk
Pre-requisite module(s):
Co-requisite module(s):
Pre-requisite or Co-requisite module(s):
Module(s) excluded:
Placement information: NA
Academic year: 2024/5
Available to visiting students: Yes
Talis reading list: Yes
Last updated: 21 May 2024
Overview
Module aims and purpose
This module is designed to introduce students to the Python programming language, one of the most popular programming languages in the world. We aim to equip students with the skills and knowledge needed to master the basics of programming and to work with current tools used in general program design and development, as well as data science. The will also focus on the practical application of Python, teaching students how to use the language to write scripts, create software applications, and work with data.
Further, this module will encourage the development of a set of professional skills, such as problem-solving, creativity, technical report writing for both technical and non-technical audiences, self-reflection, effective use of commercial software, organization and time management, numeracy, and hypothesis generation and testing. Through various programming tasks and exercises, students will have the opportunity to practice, demonstrate, and improve these skills, gaining confidence for success in many fields that involve the use of programming, from finance to healthcare and from media to scientific research.
This module is tailored to enhance students' experience and outcomes in learning Python. This is an opportunity for students to improve their problem-solving, critical thinking and analytical skills and to enter the world of Python programming with confidence. The module will also give students a chance to demonstrate their creativity and technical writing skills, while developing a set of professional skills that will be highly valued by employers.
Module learning outcomes
By the end of the module, it is expected that students will be able to:
- Implement common computer science algorithms to design solutions to programming problems with Python scripts and software applications;
- Assemble code that incorporates imperative, functional, and object-oriented programming paradigms;
- Integrate third-party Python libraries to formulate and construct Python programs for practical applications; and
- Demonstrate best practices and conventions for writing clean and efficient code.
Module content
The course begins with an introduction to the Python programming language and the Python library ecosystem. Students will perform a series of practical exercises designed to develop skill in Python scripting and wider program development. These will incorporate aspects of data analysis and professional and scientific research techniques.
Topics covered will include:
- Introduction to Python
- Data Types
- Flow Control Structures
- Functional Programming
- Modules and OOP
- I/O, Files, Errors, and Exceptions
- GUI Programming
- Web Programming
- Data Science Programming
- Multithreaded Programming
- Manipulating Images
Structure
Teaching and learning methods
The module consists of weekly 2-hour lectures and weekly 2-hour practical sessions, where students will be encouraged to collaborate with their peers to develop solutions to a series of problems. During lectures, students will be offered the opportunity to work through programming exercises interactively along with the lecturer. These formal sessions are supplemented with several forms of digital resources to support learning. Skills gained in the lectures and practical sessions will be applied two pieces of assessment in the form of set programming exercises and related technical reporting and evaluation of analysis results.
Study hours
At least 44 hours of scheduled teaching and learning activities will be delivered in person, with the remaining hours for scheduled and self-scheduled teaching and learning activities delivered either in person or online. You will receive further details about how these hours will be delivered before the start of the module.
Scheduled teaching and learning activities | Semester 1 | Semester 2 | Summer |
---|---|---|---|
Lectures | 22 | ||
Seminars | |||
Tutorials | |||
Project Supervision | |||
Demonstrations | |||
Practical classes and workshops | 22 | ||
Supervised time in studio / workshop | |||
Scheduled revision sessions | |||
Feedback meetings with staff | |||
Fieldwork | |||
External visits | |||
Work-based learning | |||
Self-scheduled teaching and learning activities | Semester 1 | Semester 2 | Summer |
---|---|---|---|
Directed viewing of video materials/screencasts | 11 | ||
Participation in discussion boards/other discussions | |||
Feedback meetings with staff | |||
Other | |||
Other (details) | |||
Placement and study abroad | Semester 1 | Semester 2 | Summer |
---|---|---|---|
Placement | |||
Study abroad | |||
Independent study hours | Semester 1 | Semester 2 | Summer |
---|---|---|---|
Independent study hours | 145 |
Please note the independent study hours above are notional numbers of hours; each student will approach studying in different ways. We would advise you to reflect on your learning and the number of hours you are allocating to these tasks.
Semester 1 The hours in this column may include hours during the Christmas holiday period.
Semester 2 The hours in this column may include hours during the Easter holiday period.
Summer The hours in this column will take place during the summer holidays and may be at the start and/or end of the module.
Assessment
Requirements for a pass
Students need to achieve an overall module mark of 40% to pass this module.
Summative assessment
Type of assessment | Detail of assessment | % contribution towards module mark | Size of assessment | Submission date | Additional information |
---|---|---|---|---|---|
Set exercise | Basics of Python | 40 | 16 hours | Semester 2, Teaching Week 5 | This individual-work assessment consists of a series of tasks designed to assess proficiency in basic functional elements of the Python language. |
Set exercise | Python Project | 60 | 24 hours | Semester 2, Assessment Week 3 | This group-work assessment consists of a project in which students will collaborate to creatively apply the skills learned in the module to a topic in line with their own interests. |
Penalties for late submission of summative assessment
The Support Centres will apply the following penalties for work submitted late:
Assessments with numerical marks
- where the piece of work is submitted after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for that piece of work will be deducted from the mark for each working day (or part thereof) following the deadline up to a total of three working days;
- the mark awarded due to the imposition of the penalty shall not fall below the threshold pass mark, namely 40% in the case of modules at Levels 4-6 (i.e. undergraduate modules for Parts 1-3) and 50% in the case of Level 7 modules offered as part of an Integrated Masters or taught postgraduate degree programme;
- where the piece of work is awarded a mark below the threshold pass mark prior to any penalty being imposed, and is submitted up to three working days after the original deadline (or any formally agreed extension to the deadline), no penalty shall be imposed;
- where the piece of work is submitted more than three working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.
Assessments marked Pass/Fail
- where the piece of work is submitted within three working days of the deadline (or any formally agreed extension of the deadline): no penalty will be applied;
- where the piece of work is submitted more than three working days after the original deadline (or any formally agreed extension of the deadline): a grade of Fail will be awarded.
The University policy statement on penalties for late submission can be found at: https://www.reading.ac.uk/cqsd/-/media/project/functions/cqsd/documents/qap/penaltiesforlatesubmission.pdf
You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.
Formative assessment
Formative assessment is any task or activity which creates feedback (or feedforward) for you about your learning, but which does not contribute towards your overall module mark.
The weekly practical sessions are used for conducting the formative assessment where feedback is provided to help develop understanding and enhance programming skills throughout the term. In lectures, interactive quizzes and exercises will be employed alongside peer assessment.
Reassessment
Type of reassessment | Detail of reassessment | % contribution towards module mark | Size of reassessment | Submission date | Additional information |
---|---|---|---|---|---|
Set exercise | Technical assignment | 100 | 1,500 words (excluding programming code and comments). 24 hours (over 3 days). | During the University resit period | Assigned practical tasks and questions, which require 40% theoretical knowledge of the subject and 60% of code implementation through remediation of module coursework. |
Additional costs
Item | Additional information | Cost |
---|---|---|
Computers and devices with a particular specification | ||
Required textbooks | ||
Specialist equipment or materials | ||
Specialist clothing, footwear, or headgear | ||
Printing and binding | ||
Travel, accommodation, and subsistence |
THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.