Part 1: Fundamentals of Programming
Part 2: Programming in the real-world

Intro to Programming

Welcome to the Introduction to Programming

We will be walking this scary yet exciting journey with you as you discover the world of creating a mythical computer game, using the principles of programming.

We have an exciting learning journey planned but first things first, let us look at what you will be covering in this programme

Meet Elektra

Help her save Trom-Dlov land

As we start our journey let us set the scene.  You are creating a game!

Meet Elektra. She is princess of Kimayaland where dragons, animals and humans live peacefully side-by-side.

Next door to Kimayaland, is the land of Trom-Dlov. Where the evil villain, Nyxa, has put a spell that transformed all the peaceful animals of the land into terrifying beasts. Elektra has embarked on a quest to save her neighbouring land Trom-Dlov and rid them of the menacing creatures. 

Beware because Nyxa will do everything she can to stop you. To complete this quest, you will have to solve riddles, escape mazes, make armies, fight battles and much much more… All this to break the spell and bring back the peaceful animals that once roamed the lands of Trom-Dlov. 

Are you ready to begin your learning journey, while creating your game?

Our journey in this Chapter

Let's begin

A journey map has been created to allow you to move through the programme and to guide you as you embark on your quest to help Elektra rid Trom-Dlov Land of Nyxa and her menacing creatures and make it back to Kimayaland safely. 

Click on the green number icons on the journey map below to find out more about what you are going to learn in each of the topics in this Chapter.

Introducing programming

1 2 3 4

Like the course so far?

Imagine having access to 6 tech pathways with many more courses like these for only R250/month. 

Each course:

  • is customised for beginners, just starting out in their technology journey
  • has real-life projects where you'll be building, creating and problem solving
  • with access to post-school internships once you've completed your pathways

To sign-up - click here

To book your spot – click here

We will be talking to Brent George from GetSet Games who will be sharing lessons on what it takes to build a career in the game development world.

Join Brent and TechWays for a free webinar on Thursday 3 March 5:30-6:30pm SA time. Brent has worked at 𝐖𝐚𝐫𝐧𝐞𝐫 𝐁𝐫𝐨𝐬 𝐆𝐚𝐦𝐢𝐧𝐠, 𝐢-𝐀𝐧𝐢𝐦𝐚𝐭𝐞.𝐧𝐞𝐭, 𝐔𝐛𝐢𝐬𝐨𝐟𝐭 etc. He worked on James Cameron’s 𝐀𝐕𝐀𝐓𝐀𝐑 game, 𝐁𝐚𝐭𝐦𝐚𝐧: 𝐀𝐫𝐤𝐡𝐚𝐦 𝐎𝐫𝐢𝐠𝐢𝐧𝐬 and so much more. 

We are truly excited to learn from someone who has over 30 years of game development experience – the tips and best practices to building a game development career. 

This event is suitable for learners, parents and their teachers. Book your spot HERE

type ( ) is a built-in function (still to cover what built-in functions are later) that determines the Data Type of any data presented. 

To book your spot – click here

We will be talking to Jason Suttie from Devson. Jason has been in the tech world since he was six years old. He headed IT innovation unit at RMB and has since left to start up his own software consulting company – solving problems and building solutions for clients around the world. 

Let’s hear more about the trends in the software and programming industries, where jobs are moving to and what kind of skills you’ll need in this exciting world of opportunities out there. 

Book your spot HERE

To book your spot – click here

We will be talking to Noelene Kinsley from GC Network. Noelene has been specialised in the exciting career of Genetic Counseling and wants to share her passion for making the world a healthier place using genetics….and data science technology. 

Let’s hear more about the trends in the health/genetics industries, where jobs are moving to and what kind of skills you’ll need in this exciting world of opportunities out there. 

This event is suitable for learners, parents and their teachers. Book your spot HERE

To access the recording – click here

Calling on all high schoolers interested in tech as a career to join us on 16 September at 5:30pm. If you missed it, we’ll host another one on 18 November. 

We covered the following:

  • general tech career tips
  • a few “hot button/in-demand” career pathways and jobs
  • the skills needed to access these careers
  • some of the job realities in these careers

To access the recording – click here

To book your spot – click here

 

Calling on all high schoolers interested in tech as a career. Join us on Thursday 17 March at 5:30pm.

 

We will be sharing:

  • general tech career tips
  • a few “hot button/in-demand” career pathways and jobs
  • the skills needed to access these careers
  • some of the job realities in these careers

There are only 100 spaces – so book your spot now – please RSVP here Book

To book your spot – click here

#WOW – What Outstanding Work – Awards: join us to learn from our students. 

Our top 20 learners are from St Andrews for Girls, Reddam Umhlanga, Evolve Online, Nova Pioneer and Sutherland High

Learners will be presenting their final projects. Come celebrate their successes and lessons learnt with us at our TechWays #WOW Awards.

This event is suitable for learners, parents and their teachers. Book your spot HERE

Variables

More about variables

Info about variables

Integrated Development Environment – A digital environment used to develop games, software, hardware, that offers integration from debugging to compiling. 

print ( ) is a built-in function (still to cover what built-in functions are later) that executes data inside the brackets. The results get printed out on the console/results section.

input ( ) is a built-in function (still to cover what built-in functions are later) allows a user to insert info into a program/the code. 

Mad Libs is a phrasal template word game created by Leonard Stern and Roger Price. It consists of one player prompting others for a list of words to substitute for blanks in a story before reading aloud.

Indentation – In the written form of many languages, an indentation or indent is an empty space at the beginning of a line to signal the start of a new paragraph.

str ( ) is a built-in function that converts and sequence of characters (numbers especially) in to text. 

\ – escape character is a string character that tell Python that the next character after it should be taken as a string and not as an instruction.

In programming Concatenation is a process of appending one string to another. 

String Special Characters

There a number of special string characters that have different functions when used inside ” “. Here’re some useful and common ones:

  • \n – Newline – Everything after it goes to next line.
  • \t – Horizontal tab – creates a tab space, similar to when you use ‘tab’ on keyboard.
  • \b – backspace – deletes the character before the it.
  • \r – carriage return – same as \n

String Built-in Functions/Methods

There are a lot of strings functions/methods in Python. Find full list in course manual. Here’s are some that you find useful in this course:

Functions

  • len(varName) – Returns the length of a list, string
  • “char to add”.join(varName) – Converts the elements of an iterable into a string.

Methods 

  • varName.capitalize() – Converts the first character to upper case.
  • varName.center(length) Returns a centered string
  • varName.count(“?”) Returns the number of times a specified value occurs in a string.
  • varName.endswith(“?”) – Returns true if the string ends with the specified value.
  • varName.find(“?”) – Searches the string for a specified value and returns the position of where it was found.
  • varName.format(placeholder = value) – Formats specified values in a string.
  • varName.index(“?”) – Searches the string for a specified value and returns the position of where it was found.
  • varName.isalnum() – Returns True if all characters in the string are alphanumeric.
  • varName.isalpha() – Returns True if all characters in the string are in the alphabet.
  • varName.isascii() – Returns True if all characters in the string are ascii characters.
  • varName.isdecimal() – Returns True if all characters in the string are decimals.
  • varName.isdigit() – Returns True if all characters in the string are digits.
  • varName.isidentifier() – Returns True if the string is an identifier.
  • varName.islower() – Returns True if all characters in the string are lower case.
  • varName.isupper() – Returns True if all characters in the string are upper case.
  • varName.isnumeric() – Returns True if all characters in the string are numeric.
  • varName.isprintable() – Returns True if all characters in the string are printable.
  • varName.isspace() – Returns True if all characters in the string are whitespaces.
  • varName.istitle() – Returns True if the string follows the rules of a title.
  • varName.ljust(value) – Returns a left justified version of the string.
  • varName.rjust() Returns a right justified version of the string.
  • varName.lower() – Converts a string into lower case.
  • varName.upper() – Converts a string into upper case.
  • varName.strip() – Returns a trimmed version of the string.
  • varName.lstrip() – Returns a left trim version of the string.
  • varName.rstrip() Returns a right trim version of the string.
  • varName.partition() – Returns a tuple where the string is parted into three parts.
  • varName.replace(“old”, “new”) – Returns a string where a specified value is replaced with a specified value.
  • varName.rfind() – Searches the string for a specified value and returns the last position of where it was found.
  • varName.rindex() – Searches the string for a specified value and returns the last position of where it was found.
  • varName.rpartition() – Returns a tuple where the string is parted into three parts.
  • varName.rsplit() – Splits the string at the specified separator, and returns a list.
  • varName.split() – Splits the string at the specified separator, and returns a list.
  • varName.splitlines() – Splits the string at line breaks and returns a list.
  • varName.startswith() – Returns true if the string starts with the specified value.
  • varName.swapcase() – Swaps cases, lower case becomes upper case and vice versa.

Troubleshooting is a form of problem solving, often applied to repair failed products or processes on a machine or a system. It is a logical, systematic search for the source of a problem in order to solve it, and make the product or process operational again.

Prompt – to  cause or bring about; to make something happen. For example making someone to say or write something.

Heterogeneous – diverse in character or content; containing different things

Homogeneous – of the same kind; alike throughout.

Text editor – is the part of the IDE where you write the code. Most text editors highlight words with different properties like functions to help you distinguish them from one another. 

Linux Essentials

Introduces Linux as an operating system, the basic open source concepts and an understanding of the Linux commands. Linux is crucial for cybersecurity.

Comptia
Security+

Gives you the baseline skills you need to secure a company’s systems, software and hardware. This certificate gives practical hands-on skills to pursue a career in cyber security

Certified Ethical Hacker

Will give you skills in Information Security Threats and Attack Vectors, Attack Detection, Attack Prevention, Procedures, Methodologies and more.