This module gives an introduction to computer programming and digital development for participants with little or no experience of computer programming. It introduces the key concepts found in almost all computer languages and enables participants to gain a practical understanding and be able apply them.
In particular, the module focuses on programming for the web, and the use of frameworks to produce professional web apps. In doing so, students will be introduced to many of the key elements of web apps, including databases, HTML/CSS and basic web server/cloud functionality.
Through a combination of pre-work, lectures, demonstrations and practical workshops, participants develop their programming skills and gain an insight into the challenges of programming. The module concludes with the students specifying and developing an individual application and hosting it in a cloud environment using modern, cloud-native practices and the latest modern technologies.
Upon successful completion participants will be able to:
- Develop comprehensive testing programs to validate specific functions.
- Develop appropriate and comprehensive documentation for a program or application.
- Critically evaluate software development lifecycle practices, and design conceptual and practical workflows.
- Critically analyse a range of problems and design structured applications that can meet them using in an appropriate computer language
- Evaluate and integrate a range of programming languages to develop interactive and professional web applications
1) Introduction to Programming
- Types of programming language
- Programming constructs
- Programming best practice
2) Introduction to Python
- Python fundamentals
- Python constructs
- Python best practices
3) Web Application Development
4) Software development
- The SDLC
- Cloud environments
- Cloud native computing
- Web servers
- Programming Test (25%)
- 6,000 words Post Module Assignment (75%)
1 week including 16.5 hours of lectures and 22.5 hours of practical classes