Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems...
Learning modes and locations may be different depending on the course start date. Please check the location of your chosen course and read our guide to learning modes and locations to help you choose the right course for you.
Start Date:17 Feb 2026
End Date:10 Mar 2026
Last Spaces Left
Tue (Evening):18:00 - 21:00
Choose either online or in-person
Location: Hybrid (choose either online or in-person)
Please note: We offer a wide variety of financial support to make courses affordable. Just visit our online Help Centre for more information on a range of topics including fees, online learning and FAQs.
Building on what you have learnt on an introductory Python course you will explore more advanced programming concepts and techniques that will make you a more accomplished and efficient programmer. This course is designed to not only give you the practical programming experience to build programs that solve real world problems but also give you the theoretical background that underpins all mainstream programming language.
Participants who will attend the full course will receive a City Lit certificate of attendance electronically for their CV or CPD records. The certificate will show your name, course title and dates of the course you have attended.
What will we cover?
Code hiding and code reuse As the code in most software applications continue to grow in size (it is estimated that there are over 50 million lines of code in Microsoft Windows alone) it is important that the competent programmer learns techniques to make their code work harder. By learning how to build sub-routines and store them in modules you will create toolkits of code that can be reused in multiple programming projects.
Advanced data structures What we recognise as the modern day computer only really started to evolve in the late 1970s and therefore programming as a discipline is still a relatively new and evolving field. As advances in technology mean our computers are becoming more powerful and we find more ways to use them to solve problems we also need to find more sophisticated ways of storing data to aid the problem solving process. This course will introduce you to advanced Lists and Dictionaries and give you the opportunity to explore Tuples. All vital tools needed in the modern day programmer’s toolkit.
Graphical Interfaces As a budding programmer we already know we need to create programs that can be used not just by the technically competent but by all users. Using the inbuilt Tkinter library you will create graphical applications that only need to be coded once to work on Windows, Mac and Linux systems. You will learn to use buttons, text boxes and other graphical tools to make your programs user friendly.
What will I achieve? By the end of this course you should be able to...
- Build sub-routines to improve good programming practise - Use Modules to create your own code libraries - Use inbuilt data structures such as Lists and Dictionaries - Produce programs with Graphical User Interfaces for Windows, Mac and Linux.
What level is the course and do I need any particular skills?
You will need some background in Python either self taught or have completed an Introduction to Python course or equivalent. You will need to be able to: - Use print() to give the user instructions - Get input from a user using input() - Create variables and collect and store data of different data types - Use the if and elif for selection - Use for and while loops
You should also be able to follow spoken instructions, read written instructions and information, and discuss work with your tutor in English.
How will I be taught, and will there be any work outside the class?
There will be some theoretical underpinning to the course, but it is nearly all practical, through teacher demonstration and practical programming and problem solving activities. There is no official work set outside the class but it is a good idea to practise the skills you have learnt to reinforce classroom learning.
Are there any other costs? Is there anything I need to bring?
Pen and notepad for note taking.
When I've finished, what course can I do next?
City Lit offers a variety of progression courses in this subject area. Please click here to view our Programming and Maths courses Disclaimer: Use of Third-Party Software This course might require you to either use your own personal account or create an account for the purposes of this course. City Lit cannot accept any responsibility for any failings of the third party or provide technical support. Whilst using the software you will be responsible for abiding by the providers terms and conditions and maintaining your own work.
Roden is a physicist with a background in data analysis and computing. He completed his PhD at Imperial College London with a thesis in Experimental Particle Physics, and his Master's degree at University of Nottingham with theses in Theoretical Astrophysics and Computational Astrophysics topics, while working with professors at UFRGS, Brazil. Roden is a seasoned programmer, having applied these skills in a wide range of research fields throughout the years, and also has a history with private tutoring. His PhD involves applying and improving Monte Carlo methods in high-performance computing clusters for the preparation of the paradigm-shifting experiments in particle physics. Roden has enjoyed being a part of the world that programming has opened up, the problems posed and the elegant solutions that have come from it. He has also successfully helped others find their potentials with tutoring and now wants to bring these two together, opening the doors for others to take part in the increasingly necessary world of Python.
Marc CohenSee moreSee less
Marc is an American software engineer based in London. His mission is building tools, tutorials, and online courses to help make computing, mathematics, and data science more accessible and more inclusive. Marc holds a Master of Engineering degree in Computer Science from Cornell University and a Bachelor of Arts degree in Mathematics from Rutgers University. He has over 40 years of experience as a professional software developer and engineering manager at Bell Labs, Lucent Technologies, and Google. Marc is a regular conference speaker and has taught, as an instructor or guest lecturer, at the University of Washington, University College London, Oxford University, London School of Economics, Howard University, University of Edinburgh, University of Exeter, and University of Surrey, among other institutions. Marc holds three patents and co-authored an O'Reilly book on Google Compute Engine. Marc's primary interests are Python Programming, Applied Mathematics, Web Development, Machine Learning/AI, Data Science, and Cloud Computing.
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.
product
https://www.citylit.ac.uk/intermediate-python174737Intermediate Pythonhttps://www.citylit.ac.uk/media/catalog/product/i/n/intermediate-python-cadp02-1024.jpg259259GBPInStock/Courses/Courses/Business, marketing & technology/Courses/Business, marketing & technology/Web design and programming/Programming/Courses/Business, marketing & technology/Web design and programming/Courses/vm/Skills for Work - Online Employability Courses/Courses/vm/Web design & programming offer/Courses/Business, marketing & technology/Web design and programming/Python2285121114081687179120121339712285121116871653Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems. <div data-content-type="html" data-appearance="default" data-element="main">Building on what you have learnt on an introductory Python course you will explore more advanced programming concepts and techniques that will make you a more accomplished and efficient programmer. This course is designed to not only give you the practical programming experience to build programs that solve real world problems but also give you the theoretical background that underpins all mainstream programming language. <br />
<br />
This is a live online face-to-face course. You will need:<br />
- Internet connection. The classes work best with Chrome.<br />
- A computer with microphone and camera.<br />
- Earphones/headphones/speakers.<br />
We will contact you with joining instructions before your course starts.</div>64.22670090Intermediate Python259259https://www.citylit.ac.uk/media/catalog/product/i/n/intermediate-python-cadp02-1024_45.jpgInStockEveningTueHybrid (choose either online or in-person)No longer available1 to 4 weeksWeekday2026-02-17T00:00:00+00:00Some experienceFeb 2026Business, marketing & technologyCADP02259259Intermediate Python207168259Roden Derveniintermediate-python/cadp02-2526Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems.0000-Available|2026-02-17 00:00:00Building on what you have learnt on an introductory Python course you will explore more advanced programming concepts and techniques that will make you a more accomplished and efficient programmer. This course is designed to not only give you the practical programming experience to build programs that solve real world problems but also give you the theoretical background that underpins all mainstream programming language.<br/><br/>Participants who will attend the full course will receive a City Lit certificate of attendance electronically for their CV or CPD records. The certificate will show your name, course title and dates of the course you have attended.Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems.Code hiding and code reuse<br/>As the code in most software applications continue to grow in size (it is estimated that there are over 50 million lines of code in Microsoft Windows alone) it is important that the competent programmer learns techniques to make their code work harder. By learning how to build sub-routines and store them in modules you will create toolkits of code that can be reused in multiple programming projects.<br/><br/>Advanced data structures<br/>What we recognise as the modern day computer only really started to evolve in the late 1970s and therefore programming as a discipline is still a relatively new and evolving field. As advances in technology mean our computers are becoming more powerful and we find more ways to use them to solve problems we also need to find more sophisticated ways of storing data to aid the problem solving process. This course will introduce you to advanced Lists and Dictionaries and give you the opportunity to explore Tuples. All vital tools needed in the modern day programmer’s toolkit.<br/><br/>Graphical Interfaces<br/>As a budding programmer we already know we need to create programs that can be used not just by the technically competent but by all users. Using the inbuilt Tkinter library you will create graphical applications that only need to be coded once to work on Windows, Mac and Linux systems. You will learn to use buttons, text boxes and other graphical tools to make your programs user friendly.- Build sub-routines to improve good programming practise<br/>- Use Modules to create your own code libraries<br/>- Use inbuilt data structures such as Lists and Dictionaries<br/>- Produce programs with Graphical User Interfaces for Windows, Mac and Linux.You will need some background in Python either self taught or have completed an Introduction to Python course or equivalent. You will need to be able to:<br/>- Use print() to give the user instructions<br/>- Get input from a user using input()<br/>- Create variables and collect and store data of different data types<br/>- Use the if and elif for selection<br/>- Use for and while loops<br/> <br/>You should also be able to follow spoken instructions, read written instructions and information, and discuss work with your tutor in English.There will be some theoretical underpinning to the course, but it is nearly all practical, through teacher demonstration and practical programming and problem solving activities. There is no official work set outside the class but it is a good idea to practise the skills you have learnt to reinforce classroom learning.Pen and notepad for note taking.<p>City Lit offers a variety of progression courses in this subject area. Please click <a href="https://www.citylit.ac.uk/media/wysiwyg/pdf/Web_Programming_Courses.pdf"> here </a> to view our Programming and Maths courses<br/>Disclaimer: Use of Third-Party Software<br/>This course might require you to either use your own personal account or create an account for the purposes of this course. City Lit cannot accept any responsibility for any failings of the third party or provide technical support. Whilst using the software you will be responsible for abiding by the providers terms and conditions and maintaining your own work.</p>Web design and programmingProgrammingvirtual2950748Intermediate Python259259https://www.citylit.ac.uk/media/catalog/product/i/n/intermediate-python-cadp02-1024_46.jpgInStockDaytimeSunHybrid (choose either online or in-person)Available courses1 to 4 weeksWeekend2026-03-08T00:00:00+00:00Some experienceMar 2026Business, marketing & technologyCADP04259259Intermediate Python207168259Marc Cohenintermediate-python/cadp04-2526Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems.0000-Available|2026-03-08 00:00:00Building on what you have learnt on an introductory Python course you will explore more advanced programming concepts and techniques that will make you a more accomplished and efficient programmer. This course is designed to not only give you the practical programming experience to build programs that solve real world problems but also give you the theoretical background that underpins all mainstream programming language.<br/><br/>Participants who will attend the full course will receive a City Lit certificate of attendance electronically for their CV or CPD records. The certificate will show your name, course title and dates of the course you have attended.Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems.Code hiding and code reuse<br/>As the code in most software applications continue to grow in size (it is estimated that there are over 50 million lines of code in Microsoft Windows alone) it is important that the competent programmer learns techniques to make their code work harder. By learning how to build sub-routines and store them in modules you will create toolkits of code that can be reused in multiple programming projects.<br/><br/>Advanced data structures<br/>What we recognise as the modern day computer only really started to evolve in the late 1970s and therefore programming as a discipline is still a relatively new and evolving field. As advances in technology mean our computers are becoming more powerful and we find more ways to use them to solve problems we also need to find more sophisticated ways of storing data to aid the problem solving process. This course will introduce you to advanced Lists and Dictionaries and give you the opportunity to explore Tuples. All vital tools needed in the modern day programmer’s toolkit.<br/><br/>Graphical Interfaces<br/>As a budding programmer we already know we need to create programs that can be used not just by the technically competent but by all users. Using the inbuilt Tkinter library you will create graphical applications that only need to be coded once to work on Windows, Mac and Linux systems. You will learn to use buttons, text boxes and other graphical tools to make your programs user friendly.- Build sub-routines to improve good programming practise<br/>- Use Modules to create your own code libraries<br/>- Use inbuilt data structures such as Lists and Dictionaries<br/>- Produce programs with Graphical User Interfaces for Windows, Mac and Linux.You will need some background in Python either self taught or have completed an Introduction to Python course or equivalent. You will need to be able to:<br/>- Use print() to give the user instructions<br/>- Get input from a user using input()<br/>- Create variables and collect and store data of different data types<br/>- Use the if and elif for selection<br/>- Use for and while loops<br/> <br/>You should also be able to follow spoken instructions, read written instructions and information, and discuss work with your tutor in English.There will be some theoretical underpinning to the course, but it is nearly all practical, through teacher demonstration and practical programming and problem solving activities. There is no official work set outside the class but it is a good idea to practise the skills you have learnt to reinforce classroom learning.Pen and notepad for note taking.<p>City Lit offers a variety of progression courses in this subject area. Please click <a href="https://www.citylit.ac.uk/media/wysiwyg/pdf/Web_Programming_Courses.pdf"> here </a> to view our Programming and Maths courses<br/>Disclaimer: Use of Third-Party Software<br/>This course might require you to either use your own personal account or create an account for the purposes of this course. City Lit cannot accept any responsibility for any failings of the third party or provide technical support. Whilst using the software you will be responsible for abiding by the providers terms and conditions and maintaining your own work.</p>Web design and programmingProgrammingvirtual2950751Intermediate Python259259https://www.citylit.ac.uk/media/catalog/product/i/n/intermediate-python-cadp02-1024_47.jpgInStockEveningTueHybrid (choose either online or in-person)Available courses1 to 4 weeksWeekday2026-07-07T00:00:00+00:00Some experienceJul 2026Business, marketing & technologyCADP07259259Intermediate Python207168259Roden Derveniintermediate-python/cadp07-2526Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems.0000-Available|2026-07-07 00:00:00Building on what you have learnt on an introductory Python course you will explore more advanced programming concepts and techniques that will make you a more accomplished and efficient programmer. This course is designed to not only give you the practical programming experience to build programs that solve real world problems but also give you the theoretical background that underpins all mainstream programming language.<br/><br/>Participants who will attend the full course will receive a City Lit certificate of attendance electronically for their CV or CPD records. The certificate will show your name, course title and dates of the course you have attended.Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems.Code hiding and code reuse<br/>As the code in most software applications continue to grow in size (it is estimated that there are over 50 million lines of code in Microsoft Windows alone) it is important that the competent programmer learns techniques to make their code work harder. By learning how to build sub-routines and store them in modules you will create toolkits of code that can be reused in multiple programming projects.<br/><br/>Advanced data structures<br/>What we recognise as the modern day computer only really started to evolve in the late 1970s and therefore programming as a discipline is still a relatively new and evolving field. As advances in technology mean our computers are becoming more powerful and we find more ways to use them to solve problems we also need to find more sophisticated ways of storing data to aid the problem solving process. This course will introduce you to advanced Lists and Dictionaries and give you the opportunity to explore Tuples. All vital tools needed in the modern day programmer’s toolkit.<br/><br/>Graphical Interfaces<br/>As a budding programmer we already know we need to create programs that can be used not just by the technically competent but by all users. Using the inbuilt Tkinter library you will create graphical applications that only need to be coded once to work on Windows, Mac and Linux systems. You will learn to use buttons, text boxes and other graphical tools to make your programs user friendly.- Build sub-routines to improve good programming practise<br/>- Use Modules to create your own code libraries<br/>- Use inbuilt data structures such as Lists and Dictionaries<br/>- Produce programs with Graphical User Interfaces for Windows, Mac and Linux.You will need some background in Python either self taught or have completed an Introduction to Python course or equivalent. You will need to be able to:<br/>- Use print() to give the user instructions<br/>- Get input from a user using input()<br/>- Create variables and collect and store data of different data types<br/>- Use the if and elif for selection<br/>- Use for and while loops<br/> <br/>You should also be able to follow spoken instructions, read written instructions and information, and discuss work with your tutor in English.There will be some theoretical underpinning to the course, but it is nearly all practical, through teacher demonstration and practical programming and problem solving activities. There is no official work set outside the class but it is a good idea to practise the skills you have learnt to reinforce classroom learning.Pen and notepad for note taking.<p>City Lit offers a variety of progression courses in this subject area. Please click <a href="https://www.citylit.ac.uk/media/wysiwyg/pdf/Web_Programming_Courses.pdf"> here </a> to view our Programming and Maths courses<br/>Disclaimer: Use of Third-Party Software<br/>This course might require you to either use your own personal account or create an account for the purposes of this course. City Lit cannot accept any responsibility for any failings of the third party or provide technical support. Whilst using the software you will be responsible for abiding by the providers terms and conditions and maintaining your own work.</p>Web design and programmingProgrammingvirtual207259168CADP02,CADP04,CADP07NONETue,Sun17/02/26 - 10/03/2618:00 - 21:0018:0021:004 sessions (over 4 weeks)41 to 4 weeksWeekday,WeekendHybridHybrid (choose either online or in-person)Roden Derveni,Marc CohenSome experienceNo longer available,Available courses2026-02-17T00:00:00+00:00,2026-03-08T00:00:00+00:00,2026-07-07T00:00:00+00:00Evening,DaytimeFeb 2026,Mar 2026,Jul 2026Business, marketing & technology259259Intermediate Pythonintermediate-python/cadp02-2526,intermediate-python/cadp04-2526,intermediate-python/cadp07-2526Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems.0000-Available|2026-02-17 00:00:00Building on what you have learnt on an introductory Python course you will explore more advanced programming concepts and techniques that will make you a more accomplished and efficient programmer. This course is designed to not only give you the practical programming experience to build programs that solve real world problems but also give you the theoretical background that underpins all mainstream programming language.<br/><br/>Participants who will attend the full course will receive a City Lit certificate of attendance electronically for their CV or CPD records. The certificate will show your name, course title and dates of the course you have attended.Take your Python coding skills to the next level. Extend your programming skills by learning how to create secure and reusable code using sub-routines and modules, use advanced lists and dictionaries to create more complex programs that solve real world problems, use inbuilt libraries to boost the functionality of your programs and learn how to build graphical interfaces to your code that work on Windows, Mac and Linux systems.Code hiding and code reuse<br/>As the code in most software applications continue to grow in size (it is estimated that there are over 50 million lines of code in Microsoft Windows alone) it is important that the competent programmer learns techniques to make their code work harder. By learning how to build sub-routines and store them in modules you will create toolkits of code that can be reused in multiple programming projects.<br/><br/>Advanced data structures<br/>What we recognise as the modern day computer only really started to evolve in the late 1970s and therefore programming as a discipline is still a relatively new and evolving field. As advances in technology mean our computers are becoming more powerful and we find more ways to use them to solve problems we also need to find more sophisticated ways of storing data to aid the problem solving process. This course will introduce you to advanced Lists and Dictionaries and give you the opportunity to explore Tuples. All vital tools needed in the modern day programmer’s toolkit.<br/><br/>Graphical Interfaces<br/>As a budding programmer we already know we need to create programs that can be used not just by the technically competent but by all users. Using the inbuilt Tkinter library you will create graphical applications that only need to be coded once to work on Windows, Mac and Linux systems. You will learn to use buttons, text boxes and other graphical tools to make your programs user friendly.- Build sub-routines to improve good programming practise<br/>- Use Modules to create your own code libraries<br/>- Use inbuilt data structures such as Lists and Dictionaries<br/>- Produce programs with Graphical User Interfaces for Windows, Mac and Linux.You will need some background in Python either self taught or have completed an Introduction to Python course or equivalent. You will need to be able to:<br/>- Use print() to give the user instructions<br/>- Get input from a user using input()<br/>- Create variables and collect and store data of different data types<br/>- Use the if and elif for selection<br/>- Use for and while loops<br/> <br/>You should also be able to follow spoken instructions, read written instructions and information, and discuss work with your tutor in English.There will be some theoretical underpinning to the course, but it is nearly all practical, through teacher demonstration and practical programming and problem solving activities. There is no official work set outside the class but it is a good idea to practise the skills you have learnt to reinforce classroom learning.Pen and notepad for note taking.<p>City Lit offers a variety of progression courses in this subject area. Please click <a href="https://www.citylit.ac.uk/media/wysiwyg/pdf/Web_Programming_Courses.pdf"> here </a> to view our Programming and Maths courses<br/>Disclaimer: Use of Third-Party Software<br/>This course might require you to either use your own personal account or create an account for the purposes of this course. City Lit cannot accept any responsibility for any failings of the third party or provide technical support. Whilst using the software you will be responsible for abiding by the providers terms and conditions and maintaining your own work.</p>Web design and programmingProgrammingconfigurable
14081687Programminghttps://www.citylit.ac.uk/courses/technology-science-and-business/web-design-and-programming/programming1/2/285/1211/1687/14081/Courses/Business, marketing & technology/Web design and programming/Programming