Hi, you are logged in as , if you are not , please click here
You are shopping as , if this is not your email, please click here

Introduction to Software Development with Python - online

Info
Location
Additional Items
Contact
More Info

Course Information

Four colour National Centre for Research Methods logo

This two day introductory short course to software development with Python is spread across four consecutive mornings and covers the following:

Automating Tasks with the Unix Shell - 20th October  (half day - morning)

Learn the basic concepts of using a text-based interface with a computer. Use the shell to run basic productivity commands and then chain these commands to perform more complicated actions. Use loops to automate time-consuming tasks such as processing or moving large numbers of individual data files. Use the powerful search features to find text in files.

Version Control with Git - 21st October  (half day - morning)

Track changes to files made by yourself to be able to more effectively recover from mistakes. Track changes made by a team to be able to work more effectively in collaboration.

Building Programs with Python - 22nd and 23rd October (2 x half days - mornings)

Learn the basics of the Python programming language. Learn how to document and add comments to Python code to make it sustainable and user-friendly. Use Python libraries to access the massive amount of tools available from the Python community. Learn the basics of making graphs using MatPlotLib.

Course Code

DSISDP

Course Leader

Stephen Pooley, Sam Mangham, Edward Parkinson & Mehtap Ozbey Arabaci (presenters subject to change)
Course Description

Learning Outcomes:

Automating Tasks with the Unix Shell

  • Explain what the shell is and how it relates to graphical interfaces.
  • Explain when and why command-line interfaces should be used instead of graphical interfaces.
  • Explain the similarities and differences between a file and a directory.
  • Translate an absolute path into a relative path and vice versa.
  • Construct absolute and relative paths that identify specific files and directories.
  • Use options and arguments to change the behaviour of a shell command.
  • Demonstrate the use of tab completion and explain its advantages.
  • Understand and describe the components of a shell command.
  • Learn how to access help documentation for shell commands.
  • Create new directories, also known as folders.
  • Create files within directories using an editor or by copying and renaming existing files.
  • Display the contents of a file using the command line.
  • Delete specified files and/or directories.
  • Capture a command’s output in a file using redirection.
  • Use redirection to have a command use a file’s contents instead of keyboard input.
  • Add commands together in a sequence using pipes, so output of one command becomes input of another.
  • Explain what usually happens if a program or pipeline isn’t given any input to process.
  • Explain Unix’s ‘small pieces, loosely joined’ philosophy.
  • Use grep to select lines from text files that match simple patterns.
  • Use find to find files and directories whose names match simple patterns.
  • Use the output of one command as the command-line argument(s) to another command.
  • Explain what is meant by ‘text’ and ‘binary’ files, and why many common tools don’t handle the latter well.
  • Write a shell script that runs a command or series of commands for a fixed set of files.
  • Run a shell script from the command line.
  • Write a shell script that operates on a set of files defined by the user on the command line.#
  • Demonstrate how to see what commands have recently been executed.
  • Create pipelines that include user-written shell scripts.
  • Write a loop that applies one or more commands separately to each file in a set of files.
  • Trace the values taken on by a loop variable during execution of the loop.
  • Explain the difference between a variable’s name and its value.

Version Control with Git

  • Understand the benefits of an automated version control system.
  • Understand the basics of how automated version control systems work.
  • Configure git the first time it is used on a computer
  • Understand the meaning of the --global configuration flag
  • Add an SSH key to a GitHub account
  • Create a repository from a template.
  • Clone and use a Git repository.
  • Describe the purpose of the .git directory.
  • Go through the modify-add-commit cycle for one or more files.
  • Describe where changes are stored at each stage in the modify-add-commit cycle.
  • Identify and use Git revision numbers.
  • Compare files with previous versions of themselves.
  • Restore old versions of files.
  • Understand git push and git pull
  • Encounter and resolve a conflict
  • Understand why you would use a branch
  • Understand git branch and git merge
  • Use a .gitignore file to ignore specific files and explain why this is useful.

Building Programs with Python

  • Run the Python interpreter
  • Understand what variables are in Python
  • Create and assign values to variables
  • Understand what lists and arrays are in Python
  • Index and slice lists and arrays
  • Write for loops to repeat simple calculations.
  • Build a basic Python script and run it.
  • Track changes to a loop variable as the loop runs.
  • Track changes to other variables as they are updated by a for loop.
  • Write as basic Python script that uses loops.
  • Write a script to open a data file and print out its contents.
  • Perform some operations on strings to extract desired data from it.
  • Understand the basics of how Python handles objects.
  • Understand good practices of how and when to write a code comment.
  • Write conditional statements including if, elif, and else branches.
  • Evaluate expressions containing and and or.
  • Use conditionals to conditionally process input data.
  • Define a function that takes parameters.
  • Return a value from a function.
  • Understand the scope of function variables and parameters.
  • Documenting a function.
  • Understand why we should divide programs into small, single-purpose functions.
  • Define and use a module that contains functions.
  • Be able to read and understand how Python reports errors through tracebacks
  • Understand how and why errors occur in Python, and common types of errors
  • Use the values of command-line arguments in a program.
  • Handle flags and files separately in a command-line program.
  • Read data from standard input in a program so that it can be used in a pipeline.
  • Explain what a library is, and what libraries are used for.
  • Load a Python library and use the things it contains.
  • Read tabular data from a file.
  • Select individual values and subsections from data.
  • Perform operations on arrays of data.
  • Display simple graphs
  • Plot data using matplotlib library
  • Analyse data from multiple files
StartEndPlaces LeftCourse Fee 
20/10/202523/10/20250

How would you rate your experience today?

How can we contact you?

What could we do better?

   Change Code