Python Initiate

A Python Initiate is one who has been introduced to the Python programming language enough to explore projects and contrast the basics with other languages.

Complete the following requirements and a review interview to receive this certificate.


Prerequisites

  1. Complete the [Technologist] certificate

  2. Memorize, understand, and pass the initiate required terms.

Versions and Installation

  1. Describe the versions of Python and when to use either. Compare and contrast the versions. Give at least three specific examples.

  2. Show where you would download and install the Python language to get it on your own computer.

  3. Create a Python REPL.it sandbox and be prepared to do so when interviewed to demonstrate your Python programming ability. Consider using such as a working notebook of Python concepts and constructs.

Relevance

  1. Discuss how most developers actually use Python in the tech industry. Give more than three specific examples of Python's use by professionals.

  2. Show several job titles that specifically require Python developer skills and how Python is used for those jobs.

  3. Describe one or more projects that you could consider to demonstrate the skills required for an entry-level job or internship using the Python language.

Research

  1. Demonstrate how to look up Python syntax or concepts from the official documentation.

  2. Demonstrate how to research and evaluate your own solutions to programming problems you may encounter.

Commenting

  1. Why? Explain at least two reasons to use comments in code.

  2. Single Line. Demonstrate how to create a single line comment.

  3. End of Line. Demonstrate how to create an end of line comment.

  4. Multi-line Comment. Demonstrate how to create a comment that spans multiple lines.

  5. Placeholders. Describe the common keywords used to identify a specific place in code where more code is needed or a change is needed to repair that code later. Explain why a coder would use such comments.

  6. Attribution. Explain the issues involved when coders include identifying information about themselves in code. Compare and contrast this to including copyright and licensing information.

Importing

  1. Import. Demonstrate how to import a module by name.

  2. Import Alias. Demonstrate how to import a module by name with alias.

  3. Specific Symbols. Explain what a symbol means. Demonstrate how to import one or more specific symbols from a single module.

  4. Never Star. Explain why importing with star (*) is an anti-pattern (no matter how many tutorials and books use it).

Printing Output

  1. Print with New Line. Print "Hello world!" to the console with a new line as the ending.

  2. Print to One Line, Multiple Prints. Using two separate print function calls print "Hello world!" to the same line.

  3. Print to Multiple Lines, One Print. Using a single print function call print "Hello" and "world!" to separate lines with a blank line between.

  4. Explain the origin and meaning of the terms "indent", "tab stop", "carriage return" and "line feed" and how they apply to modern programming output.

  5. Print to One Line, in Color. Using only the cprint function print anything in a different color to the console.

  6. Print to One Line, Different Colors. Using only the cprint function print at least two words, colored differently, to the console.

  7. Print with Colored Background. Using on the cprint function print something to the console with a different background color.

  8. Clear the Console. Print something to the console and then clear the console using the replit.clear() function. Do the same on a POSIX terminal by printing the clear terminal escape string.

Variable Declaration and Assignment

  1. Variables. Explain what a variable is and why it is needed. Where does the name come from. Give an example of using one.

  2. Assign a Variable. Demonstrate how to assign a specific variable (of any type) and explain the syntax involved. Explain the important difference between the meaning of the operator involved.

  3. Naming Convention. Describe how to name variables in Python and why it matters.

Variable Scope

  1. Global Scope. Demonstrate how to add a global variable, where it generally goes in the code, and what code can see and use it—specifically both to read it and change it.

  2. Block Scope. Demonstrate how to add a block scope variable, where it generally goes in the code, and what code can see and use it (both to read it or change it).

Constants

  1. Constants. Demonstrate the use of constants in Python and how to create one. Explain the ironic idiosyncrasy of constant mutability in Python and how to get around it.

  2. Predefined. Demonstrate how to use one or more predefined constants from the study of math and physics by importing the appropriate module.

Basic Types

  1. Definition. Explain in your own words what a type is and why it is needed. Tell if Python is strict or loosely typed and describe why and what this means. Compare and contrast the difference between strictly typed languages and loosely typed. When would you pick a strict typed language over loose? What are the pros and cons of each?

  2. Four Common. Tell the four common types in most all languages? Describe their synonyms. Identify their differences and the syntax for each.

  3. None Type. Explain the None type and when you would use it.

  4. Declaring and Assigning. Demonstrate how to declare and assign a variable and a constant for each of the four basic types. Then, demonstrate how to change the variables later.

Collection Types

  1. Definition. Explain what a collection is and why they are so important. Identify the four main collection types in Python. Compare and contrast them explaining when you would use each.

  2. Simple. Demonstrate declaring and assigning all three types with proper syntax both on a single line and across multiple lines. Use proper, readable style.

  3. Indexing. Demonstrate the syntax of to look up one item from each of the collection data types. How do the lookup indexes differ?

  4. Length. Demonstrate how to look up the length of each collection type. How is this number different than the index of the last item, if at all?

  5. Declaration. Demonstrate how to declare each collection type.

  6. Setting. Demonstrate how to set (add) items in each of the collection types (if possible). Some have several forms of creation. Optionally describe each and the advantage (but only the most common form is required).

  7. Getting. Demonstrate how to get the items from each collection explain the difference when there is more than one way.

  8. Iterating. Tell the meaning of the word iterate and give an example of it in a sentence. Demonstrate two different ways to print all the items of each collection types.

  9. Removing. Demonstrate how to remove items in each of the collection types (if possible).

  10. Combining. Demonstrate how to combine two collections in a way that could represent a chess board grid. Print it. Demonstrate how to create a list of dictionary items.

List Methods

Appending

Getting the Last Item and Removing

Looking Up Position

Reversing

Counting Items

Dictionary Methods

Looking Up an Item Without Failing

Type Casting and Conversion

  1. Definition. Describe what type casting is as well as why and when it is needed.

  2. String Conversion. Demonstrate converting an integer, float, and Boolean to a string. Experiment with ways to make the conversion fail. Use either code or the console but be able to prove you have done it.

  3. Integer Conversion. Demonstrate converting a string, float, and Boolean to an integer. Describe what happens in the conversion.

  4. Float Conversion. Demonstrate converting a string, integer, and Boolean to a float. Describe what happens in the conversion.

  5. Boolean Conversion. Demonstrate converting a string, integer, and float to a Boolean. Describe what happens in the conversion. Convert a list, tuple, and dictionary to a Boolean. Try empty versions of them all. Describe what happens.

  6. Collection Conversion. Demonstrate converting the different collection types from one type to another. Give several specific examples of why you might need to do such a thing. Demonstrate how to make two lists into a single dictionary.

Getting User Input

  1. Usage. Describe what user input is, where it comes from, and why you would use it in a program. Give the proper name for the data stream from which input is received.

  2. Input Function. Demonstrate how to use the input() function both with the following types: string, integer, float, and Boolean.

  3. Python Only. Describe why the input() function is special to Python compared to most other languages.

  4. Avoid Old Python Version. Show how to identify old Python (not 3) by the input function that is used.

Math Operators

  1. Usage. Demonstrate the addition, subtraction, multiplication, division, integer (floor) division, exponent, and modulus operators by declaring and assigning variables that are the results of these operations.

  2. Warning About Python 2. Explain why the division operators in Python 2 are particularly dangerous—especially for beginners.

  3. Modern Exponent Operator. Explain why some tools might show an error for using the ** exponent operator. How has modern JavaScript changed?

Math Functions

  1. Usage. Demonstrate how to access and use the math functions. Explain what floor, ceiling, round, absolute value, and square root functions do and show the proper syntax.

  2. Rounding Errors. Discuss why rounding often introduces errors that are harder to detect than floor or ceiling.

String Operators

  1. Join. Demonstrate how to join two strings together using the join operator. Explain why it is called a join operator.

  2. Repeat. Demonstrate how to repeat a string multiple times. Explain why it is called the repeat operator.

  3. Operator Overloading. Explain the concept of operator overloading in relation to syntax involving the join and repeat operations. What are the math operations for the same symbols?

String Methods

Strings as Lists/Sets

lower()

upper()

strip()

Augmented Assignment Operators

  1. Definition. Explain what it means to augment something.

  2. Prerequisites. Demonstrate what is first needed before an augmenting operator can be used.

  3. Usage. Demonstrate the addition, subtraction, multiplication, division, and exponent augment operators by altering existing variables.

  4. Variables Only. Explain why augmented assignment cannot be done to a true constant.

Unary Operators

  1. Nope. Explain what the unary increment and decrement operators are and why Python omits them on purpose.

Comparison Operators

  1. Usage. Demonstrate a simple variable assignment of each of the following comparison operators, one to a line. Declare and assign other variables for comparison if you like.

Logical Operators

  1. Definitions. Explain why logical operators are needed.

  2. Usage. Demonstrate usage of the three logical operators by using them in separate variable assignments. Show the syntax of each including additional syntax requirements besides the operators themselves in order to safely evaluate them.

Set Operators

Is Equal To

Union

Update

Intersection

Difference

Difference Update

Symmetric Difference

Symmetric Difference Update

Is Subset

Is Superset

Is Subset and Is Not Equal

Is Superset and Is Not Equal To

Code Blocks

  1. Definition. Explain the meaning and purpose of a code block.

  2. Scope. Describe how code blocks can affect scope.

  3. Syntax. Demonstrate the specific syntax for beginning and ending a code block.

  4. Empty.

Beginning

Ending

Significant Whitespace

Pass

Conditions and Control Flow

  1. Definitions. Explain what control flow means related to programming and how conditions can change it.

  2. Imperative and Declarative. Explain the term imperative as it relates to control flow. Name at least one declarative language in contrast. Describe why. Explain how using functions—especially in response to events—makes a program less imperative (moving toward a more declarative approach).

  3. Blue Sky. Explain the concept blue sky and how it relates control flow.

  4. If. Demonstrate the syntax of the if construct using a simple comparison condition that uses a variable you have defined. Describe when you would use if in your programs.

  5. Else If. Demonstrate the syntax of the else if construct using a simple comparison condition that uses the same variable you used for if. Describe a real scenario where else if would make sense.

  6. Else. Demonstrate the syntax of the else construct. Describe specifically how it is different than else if and if. Describe a real scenario where else would make sense. When, if ever, is better to not use else at all.

  7. Natural Language. Summarize your control flow code using natural language to describe what is going on.

  8. Switch. Explain how to accomplish the effect of the switch statement (which has been left out of Python amid controversy about its usefulness).

Counter Loop

While

Initialize

Check

Change

For N in Range

Iteration

Lists

Dictionaries

Sets

Comprehensions

Functions and Procedures

Origins

Differences

Importance

Arguments and Parameters

First Class Functions

Randomness

Random

Choice

Naming

Formatting

format()

Format Strings

Pausing

import time

sleep()

Applied Projects

  1. Prove Your Skill. Demonstrate your coding skills by completing one or more coder projects that collectively cover all of the above requirements.

Creative Commons License SkilStak Certificate Requirements are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://github.com/skilstak/cert for additional permissions and to submit suggestions and bug reports. If you would like to help improve modern educational standards by contributing to these or additional certificate requirements please email learn@skilstak.com.