Coding for Beginners Certificate
About this course
Learning coding or, at the very least, having fundamental knowledge of what computer code is and how it commands the behaviour of computers and other devices, is now an essential skill for anyone.
Comments (0)
Module 1: Evolution of Computers and Coding
How codes and ciphers were used throughout history to hide sensitive information How cryptography played an important role in the evolution of coding.
Who the British pioneers were that had the most influence on the development of modern computers.
What role World War II played in the advancement of technology and computing.
The reasons why mathematics is so important for coders
What are numbers, and the difference in number systems
How to convert numbers from binary to decimal and the other way round
What fundamental components does every computer have under the hood
How digital information is stored in computer memory and the various units of digital information
Module 4: Variables & Data Types
What variables are in coding and how they are used to store values in computer programs What data types are and how they are used to give instructions to machines
How to assign primitive data types to real life values, use them in your code and their role as fundamental building blocks
What the various complex types of data are and what they are useful for.
Module 5: Working with variables using operators and data type conversion
What operators and operands are and how to use them to conduct computational operations The difference between the major type of operators and the proper code syntax you should use when working with them
What boolean algebra is and how to perform logical operations using truth tables
How to convert data types using special methods that are part of the way operators work
How to think like a machine when assigning and working with the different operators that are available in Python
Module 6: Controlling the flow of code using conditional statements and loops
We have focused this module on exploring the idea of functions - self-contained code within your program that makes it possible to modify variables and also extends the use of operators.
We have learned about a couple of useful built-in functions which work with numbers and strings - the print(), len() and range() functions - and explained why these are helpful to you as a coder.
But apart from built-in functions, we have seen examples of user-defined ones or in other words - the ones you can write yourself. Functions can be included in your program to allow greater flexibility with what you can modify by calling them.
Functions can be accessed via their arguments - variables that get passed whenever you call the function. We discussed the different ways argument types you can use to call functions as well as defined what their scope means.
Building upon the idea from the previous module, we introduced nesting of functions that are similar to the nested conditionals and loops we previously studied. We have demonstrated how this can be utilised to create new functions.
A bit more complicated, anonymous functions are nameless functions that are based on the Lambda calculus. We have seen how useful anonymous functions can add style and elegance to code.
We introduced and discussed in depth the structure that modules bring to our programs. We use modules to logically separate code in relevant files as each file is, by default, a module that can be imported by other modules. The way to import modules, as we have seen, is by using an import statement with the module name.
Importing is a way to reference a single variable, function or the whole module inside a different module. This way modules can use each other's functions and access each other's variables.
We introduced a set of modules called Standard Library Modules, Python's own set of readymade code that can be reused for common operations, including formulas for mathematical functions and constants, time and date functions, system functions and the functions that allow us to generate random numbers and sequences. Finally, we explained packages - collections of modules within the same context.
If there is one key concept to remember about Object Oriented programming, it is that everything should be thought of as an object. Classes are objects with methods to create instance objects that, in turn, create method objects in order to modify the set of class and instance variables.
Formally defined, one can classify a language as belonging to the group of object oriented languages if it meets the four principles of object orientation - encapsulation, data abstraction, polymorphism and inheritance.
Encapsulation refers to the idea that all properties of an object - data and methods - should be hidden inside of that object and protected from direct access to them. As a logical consequence of encapsulation, data abstraction refers to the fact that because an object's inner workings are hidden from the user (or other code objects), it appears abstract.
Polymorphism is the fact that objects are just instances of classes created during runtime and as such, they can appear in different variations. Whilst inheritance is the concept that classes are blueprints, instances or objects created from the class are, in an abstract way, copies. Hence, they should be able to derive and use the class's methods and attributes as if they were its own.
Wrapping up the final module of the course, we introduced the most abstract idea in Object Oriented Programming - inheritance or, in other words, the ability to create subclasses or child classes from super classes or parent classes.
Inheritance allows a class to “inherit” variables and methods from its parent class and use them as if it were its own.
We took abstraction to the next level by defining multiple inheritance or the concept that a child class can inherit attributes and methods from more than one parent, and we provided an example of implementing multiple inheritance in code.
Extending the idea, or using existing code, one of the fundamental principles in coding, we also discussed importing data from files and using third party packages for specific coding tasks and topics in mathematics and computing.
Finally, we provided resources that you can browse to learn more about Python and listed tech groups within the UK that you can potentially join in order to meet like-minded people.
Coding is a path and not a short one - as you gain deeper and deeper understanding of coding concepts and mathematics, with time you will be able to write better code. However, gaining access to the world's entire coding knowledge means nothing if you don't practise.
Coding is just like any other craft - you get() as much as you input().
![](/assets/default/img/loading.gif)