/The Art of Coding

Provided by: Lancaster University

Course Area: North West

Course Code: SCC.011

Course Type: Other undergraduate

Start date: 28/10/2019

End date: 13/12/2019

Subjects: Coding

Price: Free

Delivery Method: Blended

Course overview

On completion of this course, students will be able to:

  • Understand the universal concepts and mechanism of imperative computer programming languages including variables, iteration using for/while loops, conditionals;
  • Understand the anatomy of imperative programs, including entry points, functions, variable scope and control flow;
  • Appreciate the strengths and weaknesses of alternative programming languages and be able to select the appropriate language for a given task;
  • Design and implement simple batch processing computer programs using Python to solve a given problem.

Who is this course for

  • This course is for first year non-computer science students at Lancaster University.
  • The course is free for all selected undergraduate students at Lancaster University.
  • This new course curriculum is for other major students with no prior knowledge of computing within Lancaster University.

What will I learn

The following topics are covered on this course:

  • Imperative programming, and sequencing of instructions;
  • Basic types and the use of constants and variables;
  • Control flow and making decisions and selections through the use of conditionals;
  • Repeating actions through iteration;
  • Functions and procedures;
  • Scoping of variables and parameter passing;
  • Collections of data using lists and arrays;
  • A broad introduction to principles of best practice in software development, including the software development cycle, programming conventions, debugging techniques and regimen, version control. In addition, a brief contextual introduction to the UNIX shell and HTML will be given.


Following successful completion of this course, a student should have learnt:

  • How to work as part of a small team to undertake collaborative design and analysis tasks;
  • How to apply the principles of computational thinking in the context of an imperative programming language –notably abstraction, decomposition and generalisation;
  • How to apply problem solving skills to a simple specification in order to create a functional product;
  • How to analyse and interpret computer programs and diagnose and correct unexpected behaviour.
Visit this course

</Keep in touch>