Start a career in software development with Python
Time: 19:00 - 21:00
This course is FREE if a) you live in London and your job is at risk of redundancy or b) you are either on Jobseekers' Allowance (JSA) or Employment & Support Allowance(ESA) or c) you receive other state benefits (including Universal Credit) and your monthly take home pay is less than £343. For more information click here
This course will be delivered online. See the ‘What is the course about?’ section in course details for more information.
Course Code: CAD18
Duration: 24 sessions (over 15 weeks)
What is the course about?
This course equips you with the skills expected of a beginning software developer. It integrates three of popular courses listed below, augmented by a general orientation to working in software development.
• Intermediate Python
• Advanced Python
• Algorithms in Python
By the end of the course you should be able to both “talk the talk” and “walk the walk” – having the contextual knowledge to discuss a job role in an informed way but also the confidence that comes from knowing you can “cut code” as well as any other candidate.
In the process, you will develop an ongoing project that can become the start of your online portfolio, a valuable job-hunting resource that will showcase your capabilities to potential recruiters.
This is a live online course. You will need:
- Internet connection. The classes work best with Chrome.
- A computer with microphone and camera.
We will contact you with joining instructions before your course starts.
What will we cover?
• Data structures (lists, stacks, queues, trees, graphs)
• Modules and modularization
• Object Oriented Programming
• Classic algorithms that most software developers know (searching, sorting, pathfinding)
• Complexity and issues around performance
• Good software development practices and typical team structures and roles
• Industry jargon and “general knowledge” about other aspects of technology (databases, networking, security etc)
• Indicative interview questions and strategies
• Basic use of GitHub for managing a software project.
What will I achieve?
By the end of this course you should be able to...
• Use a wide variety of standard data structures in your code and explain the intended purpose of each.
• Organise your code using Python functions and describe good and bad practices for function design.
• Use Object Oriented Programming to create custom data types (classes). Describe some pros and cons of Python’s implementation of OOP.
• Implement standard algorithms for sorting and searching data, and analyse and implement more complex graph-based algorithms.
• Create your own Python library containing custom functions, classes and variables.
• Analyse the complexity of your code and identify performance bottlenecks
• Recognise, at a general level, other elements of the technology stack that your code may interact with such as databases and networking.
• Answer some standard technical interview questions.
• Manage a project using GitHub
• Tackle medium-sized Python coding projects with confidence.
What level is the course and do I need any particular skills?
We build on your existing Python skills from Introduction to Python or similar; you should already be confident with the basics of Python coding including the use of numerical and string variables, conditionals (“if” and “else”) and loops (“while” and “for”).
Before the start of this course, you will be asked to complete the following challenge, bringing your solution to the first session:
Write a password generator that prints ten randomly generated 12-character passwords, then gives the user the option of repeating the process (to get ten more) more or stopping.
How will I be taught, and will there be any work outside the class?
We will use a mixture of presentation, discussion, problem-solving and guided project work in class.
This demanding, fast-paced course requires commitment. You will be expected to do much of the work on your project outside class, and the more time you can put into it the better the end result will be. In addition to your project, you will also be doing homework challenges each week to help you consolidate the technical material.
Are there any other costs? Is there anything I need to bring?
There are no additional costs. A pen and paper to take notes.
When I've finished, what course can I do next?
Advanced Python, Data analytics with Python: introduction, Algorithms in Python, Introduction to machine learning.
Rich is a programmer, writer and educator with a particular interest in creative practice. In his previous career he worked as a software developer in the CIty, first at a dot-com startup and later at a top-tier investment bank where he worked mostly on trading floor systems and got to play with a wide range of languages and technologies. He now teaches coding and maths-related courses full time. Besides his work at City Lit he also teaches at Central Saint Martins, the Architecture Association and the Photographer's Gallery and is the author of two books about mathematics. His technical collaborations with artists have been shown at, among others, the Hayward gallery, the V&A, the ICA and Camden Arts Centre. He has a BSc in Mathematics from the Open University. He also has a BA in English Literature and a PhD in philosophy (both from Cardiff). He continues to teach a little philosophy and literature, especially as they intersect with his other interests, and as a partner in Minimum Labyrinth he has brought these ideas to wider audiences in collaboration with the Museum of London, the Barbican and various private sponsors.
Please note: We reserve the right to change our tutors from those advertised. This happens rarely, but if it does, we are unable to refund fees due to this. Our tutors may have different teaching styles; however we guarantee a consistent quality of teaching in all our courses.