Techways

Table of Contents

Click on the content icon to the right to scroll down to the content you want. 

We need an Integrated Development Environment (IDE) – place to write and execute the code for us. But…

IDE

What is an IDE?

To recap: 

An IDE is a program that helps programmers increase productivity. It allows us to write programs in different programming languages with ease.

How does it help to write programs?

IDEs that support coding in Python have a Python interpreter and compilers for other programming languages it supports. When we write a Python program, the IDE compiles and interprets our code and produces output. Not only does it allow us to write programs, but we can also use the IDE to modify already existing programs, debug (fix syntax or logical errors) programs all in one environment.

Most modern IDEs have more tools. One tool is autofill, which completes a word after you type enough unique keys corresponding to that word in order to increase typing speed and save time.

What does it look like?

Since IDEs are applications, different IDEs have a few differences. However, most functionalities are the same:

  • IDEs have a workspace to allow us to write code. 
  • To run our programs, IDEs usually have either a Build&Run or Run button. 
  • There’s also a command line or shell to display output whenever we Run our program. 

Inside most IDEs there is an “engine” that executes the code – this either an Interpreter or a Compiler. But what is the difference between the two?

Interpreter VS. Compiler

How IDEs execute code

Variables

What is a variable?

To recap:

When programming, we’ll often need to work with text or numbers a lot. The text or numbers we are working with needs to be stored somewhere so that it can be retrieved later if we want to change it or if we want to use it somewhere. This is where variables come in.  Variables help us store our data safely on unique memory locations of the computer.

Variables work as containers for data. A single variable can only store certain types of data. If we choose to store an integer number (1,2,3) in a variable, we cannot replace that number with a letter (a,b,c) later on. However, we can replace it with another integer number later on. The same is true for variables that were storing characters or strings of characters.

Variable naming conventions:

Every word, except the first one, starts with an uppercase letter.

  • Example: myFavouriteProgrammingLanguage

Every word in the variable name starts with an uppercase letter.

  • Example: MyFavouriteProgrammingLanguage

The variable name is written in small caps, and if needed to separate words in the variable name, an underscore ( _ ) is used.

  • Example: my_favourite_programming_language

Every letter is capitalised, and words are separated by an underscore

  • Example: MY_FAVOURITE_PROGRAMMING_LANGUAGE

There are a few rules to keep in mind when naming variables:

  1. The first character must be an alphabet or an underscore;
  2. The remaining characters must be alphabets, digits or underscores;
  3. We are not allowed to use reserved Python keywords when naming variables; and
  4. We are not allowed to use special characters.

Primitive Data Types

Deep dive

A data type is a classification method to make the Python interpreter aware of the kind of data it is working with. It is a way of helping Python know what our input looks like, so that it can process the right kind of output when running our code.

Python has five basic classes of data types as outlined in the Figure 1 alongside.

Numeric: Integer (int) Data Type

We are in the Grade 7 Mathematics class and our teacher is introducing us to the concept of integers. 

What are integers? 

Integers in mathematics, referred to as “int” in programming, are any whole numbers we can represent on the number line. These include all negative whole numbers(-1,-2,-3), zero, and all positive whole numbers(1,2,3). 

When working with integers, we cannot represent decimal values and fractions.

Numeric: Float Data Type

Numbers span more than just whole numbers. We have numbers that need to be represented using point decimals – such as the number 23.0 Some are fractions – such as 0.25

To represent such values, computers use float and double data types.

Float vs Double data types: 

  • Floats are 4 bytes = 32 bits in size 
  • Doubles are 8 bytes = 64 bits in size 

What this basically means  is that you can fit more data, in this case numbers, in a double than in a float.

In Python, however, only float is valid for representing decimal values.

Numeric: Complex Data Type

It is important to understand that we have both Real and Imaginary Numbers. We only learn about Real Numbers in high school. Complex numbers, are numbers that contain two parts: a real part and an imaginary part. 

This is how they are typically represented in mathematics:

 z = 2 + 3i  (formula is written as z = a + bi)

  • z represents the number, 
  • 2 is the real part of the imaginary number z and 
  • 3i is the imaginary part of the imaginary number z. 

Complex numbers are represented on a 2 dimensional cartesian plane (like a graph), and not on a 1 dimensional number line.

None Data Type

None Data Type is not so much a Data Type by when you define a variable (next lesson) and don’t assign a Data Type to it.

Bool Data Type

Data Type bool – which is just True and False (notice 1st letters are CAPS). True & False are some of a list special words – keywords. This just mean if you write this words, Python will read is you meaning a specific thing. In this case Booleans Data Type. 

Strings Data Type

A more detailed look

A string is an array, or collection, of text in programming. Basically any collection of characters can be a string in programming. But, since some words (like print for example) mean something specific to the computer, for the computer to distinguish between strings and other specified words, the strings are enclosed within quotation marks. 

Anything and everything can be a string if it is inside quotations, even numbers. You will recall that you have already come across strings when you wrote your first Python programme earlier. 

String Built-in Functions/Methods

These functions/methods are not only used for strings. Because a string is a sequence of characters, we can use some of these functions/methods for Arrays, Lists, Tuples, all the ordered sequences (i.e. indexed).  

Give example for each and then toggle

Functions

  • len(varName)
  • “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.

Text manipulation

String Built-in Functions

We have already covered string built-in functions when we did the Mad libs game exercise. Remember that the course manual has a list of all the string built-in functions.

Whitespace – basically empty space (like spaces, tabs, or enter button) that makes the code look neat and organized, but the computer doesn’t care about it.

 A User – is any person that interacts (by inputs) with a program without having to write the code directly. For example, you are the user to the code that makes your browser/website run. When you clicked on this pop-up, that was the input that made this explanation come up when the code detected it.

To book your spot – click here

All learners who are aspiring web developers will have an opportunity to build a website for a live NGO or charity client as part of their community service hours. This project will be run jointly with Community Hours – so all your time spent counts towards your LO credits. This event is suitable for learners, parents and their teachers.

TechWays will be providing the WordPress course and web dev resources for free to any learner wanting to participate. 

Besides the amazing community service you’ll be doing for a charity in need – you’ll also be building your portfolio of web dev skills. Who knows – web dev could become a side hustle for extra income?

Book your spot HERE

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.

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. 

Homogeneous – of the same kind; alike throughout.

Heterogeneous – diverse in character or content; containing different things

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

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.

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
  • 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).
  • 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.

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

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

\ – 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.

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

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.

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

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. 

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.

Integrated Development Environment (IDE) – A digital environment used to develop games, software, hardware, that offers integration from debugging to compiling. Essentially where you write, edit, and run to test your code. 

Variables

More about variables

Info about variables

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

To book your spot – click here

 

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

 

We will be sharing:

  • Some “hot button/in-demand” career pathways – including Automation
  • 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 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

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 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

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.