Croydon Tutorial College

Teaching, Tutoring and Progress Coaching

For Young and Mature Students and Technical Apprentices

Career Switch to Programming

Are you interested in making a start on learning how to program and build applications in widely used programming languages?

Are you anxious that programming is difficult and complicated because you are new to it?

Mastering the art of programming can seem daunting but when approached systematically and gradually is actually quite achievable.

Being a competent working programmer generally involves mastering a number of programming languages, and your journey begins with your first language. Instead of succumbing to the myth that "The most difficult language is the first programming language you learn" think of a programming language as a means of expressing what you want a computer program to do. The real skill is in mastering "problem solving". The skill of problem solving in computing can be described as "computational thinking". The wonderful thing about computational thinking skills is that they can be applied to lots of other problems, not just computing problems.

  There are many good books and online courses for beginners. However, sometimes, though, there is a need for help with "overcoming difficulties" such as being stuck with some aspect of the language you are studying, or with difficulties interacting with the operating system your computer is running.

Computers are indispensable in the modern world. However, computers are machines and they can only do what they are told to do. A computer program is simply a set of instructions to get the computer to do something.

Computer programming languages used by most programmers work at a fairly high level and do not require a knowledge of the low level details of the computer they are running on. Such languages are described as "high level languages". Programmes written in a high level language are converted into instructions in a low level language, such as assembler. Assembler code can then be converted into machine code which contains the instructions that the computer processor actually executes.

This introduction to programming course introduces the basics of computer programming and computational thinking using a graphical programming language called Snap! developed at the University of Berkeley in California. It then introduces the widely used programming language Python. This is followed by an introduction to Databases and the SQL language. The final part covers web programming using HTML, CSS and JavaScript. The format of the course is flexible and is based on set books supplemented with teaching materials and marked assignments and regular tutorial sessions.

Part 1: Coding for absolute beginners

  • Computational Thinking and Coding - First Steps
    • Overview of widely used programming languages
  • Why graphical programming using Snap! is a good place to begin
    • Functions
    • Strings
    • Loops
    • Object-Oriented Programming
    • Algorithms
  • Computer Architectures
  • Computer Operating Systems
  • Computer Networks

Part 2: Coding with Python

Python is a very popular and widely used programming language.
  • A short history of Python
  • Getting started with Python programming
    • Why Python?
    • Installing Python (Guide step by step)
    • Choosing a Python IDE
    • Python Foundations and the REPL loop
    • Variables, Lists, Dictionaries, Functions
    • Console and File Input and Output in Python
    • CSV file processing in Python
  • Object oriented programming - what it is all about
    • Object oriented programming in Python
    • Inheritance
    • Polymorphism

Part 3: Databases and SQL programming for beginners

  • What are databases in general
  • What are relational databases
  • Installing and setting up the MariaDB/MySQL relational database
  • Understanding the Relational Database Model
  • Entities, Attributes and Relations
  • Mastering SQL and using SQL to Work with Databases
    • Why is SQL So Powerful
    • Creating and exploring a Database
    • First steps in writing and running SQL Queries
    • More powerful SQL queries using Joins
    • Subqueries - Queries within queries
    • SQL Views
  • Database Transactions

Part 4: Coding Web Pages with HTML, CSS and JavaScript

  • Basics Of HTML
  • Style and structure of Web Pages
  • Installing an Apache 2 Web server to serve up web content
    • Mastering Links, And Forms In HTML
    • Frames, Colors, And HTML Layout
    • Introduction to Javascript
    • Introduction to CSS
  • Introduction to Web Server programming using Python and Django

On completing this course you will have moved well past the beginner stage. You should be able to not only set up your own databases and web servers, but, also start earning good money by applying your newly acquired skills.

Follow up

For more information call us and leave a message or send and SMS or send an email

Mobile tel. no.: +44 7739 642996
Send an email to andrew dot eliasz at gmail dot com