Skip to navigation | Skip to main content | Skip to footer

University College for Interdisciplinary Learning

Programming: What? Why? How?

Course Unit Code


Course Unit Details

  • 10 credits
  • Department of Computer Science
  • Level 2


Unlock the power of programming with a course designed for individuals outside the realm of computer science.

Whether you're in business, humanities, or any other field, understanding programming fundamentals is a valuable skill in today's tech-driven world. This course takes a practical approach, guiding you through the essentials of programming and demonstrating how it can be a game-changer in your specific area of study.

Embrace the world of programming and equip yourself with the skills to thrive in an increasingly digital landscape. Join us on this journey to demystify the art of programming and discover its potential in your academic and professional pursuits.

This unit is designed for those with zero programming and coding experience as we will go back to the very start and build from the ground up.


This course is designed to teach people from various backgrounds the basics of programming and how it can be applied in their specific fields. We'll start by looking at how programming is used in real-world situations, both in industry and academic settings. After that, we'll dive into hands-on learning to understand and create simple computer programs.

This course aims to:

  • Explain what a given (simple) program does, showing a good grasp of code structures and logic.
  • Design programs to solve specific (simple) problems, emphasizing a practical approach to programming.
  • Explore how programming fits into different fields of study, recognizing its importance across various disciplines.
  • Identify and choose the right tools for different programming tasks, demonstrating an understanding of tool capabilities.
  • Evaluate different programming styles and techniques, applying them to real-world situations for effective problem-solving.

By the end of this course, participants will have a solid understanding of programming basics and the skills to apply this knowledge in their chosen fields.

Learning Outcomes

On successful completion of the unit you will be able to:

  • Explain the fundamental concepts of programming, including variables, data types, and control structures.
  • Identify and describe the role of algorithms and data structures in programming.
  • Explain version control systems, such as Git, for collaborative coding and code maintenance.
  • Articulate the software development life cycle and its various phases.
  • Analyse and evaluate the functionality of given (simple) programs, demonstrating a critical understanding of code structures and logic.
  • Apply problem-solving strategies to design programs that effectively address specific (simple) problems.
  • Assess and compare different programming styles and techniques, understanding their implications in real-world scenarios.
  • Evaluate and discuss the ethical and legal considerations related to programming, showcasing critical thinking skills.
  • Write simple computer programs using appropriate programming languages.
  • Apply coding best practices, including code readability, documentation, and maintainability.
  • Demonstrate proficiency in using programming tools for various tasks and scenarios.
  • Communicate effectively about programming concepts and solutions to both technical and non-technical audiences.
  • Reflect on personal learning and assess progress in programming skills, fostering a mindset of continuous improvement.
  • Exhibit adaptability and a willingness to learn new programming languages and technologies.
  • Develop and demonstrate time management skills through the completion of coding exercises, projects, and assessments.


Themes for the unit are split into two main areas: What & Why and How.

The What and Why are likely to cover topics such as:

  • A history of computing and programming
  • What does it mean to be a programmer?
  • What tools do we use for the job?
  • What does programming really look like in industry (styles of work, project types, hacking)
  • ChatGPT and other AI systems
  • How does all of this apply to you and your discipline?

The How is likely to cover topics such as:

  • State and Types
  • Iterations & Selection
  • File Handling
  • Functions
  • Packages and Libraries
  • And more...


  • Individual Programming Portfolio, automatically marked using Gradescope (60%)
  • Code Analysis Group Presentation (40%)


Excluded programs include; Computer Science, and any other programmes with introductory programming units already built into their curriculum. If you are unsure about your eligibility then please contact

UCIL units are designed to be accessible to undergraduate students from all disciplines.

UCIL units are credit-bearing and it is not possible to audit UCIL units or take them for additional/extra credits. You must enrol following the standard procedure for your School when adding units outside of your home School.

If you are not sure if you are able to enrol on UCIL units you should contact your School Undergraduate office. You may wish to contact your programme director if your programme does not currently allow you to take a UCIL unit.

You can also contact the UCIL office if you have any questions.

Teaching Staff

Dr. Gareth Henshall, Lecturer of Computer Science

Teaching and Learning Methods

5 x Online Modules

Looking into the fundamental "What" and "Why" aspects of programming. These modules explore:

  • The essence of programming,
  • Breaking down its foundational elements, and
  • Shedding light on its relevance

5 x Bi-Weekly Workshops

Each workshop two hours long, led by Dr Gareth Henshall, and will focus on the practical 'How' of programming.

Students will gain hands-on experience using the Python programming language. Additionally, they will be exposed to other languages, such as SQL for databases and HTML for websites.

10 x Lectures

Including guest lecture from esteemed academics and industry professionals representing diverse fields.

Image of computer code.

Contact us

Connect with us

  • Facebook icon
  • Twitter icon
  • Instagram icon