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.
Complete the [Technologist] certificate
Memorize, understand, and pass the initiate required terms.
Describe the versions of Python and when to use either. Compare and contrast the versions. Give at least three specific examples.
Show where you would download and install the Python language to get it on your own computer.
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.
Discuss how most developers actually use Python in the tech industry. Give more than three specific examples of Python's use by professionals.
Show several job titles that specifically require Python developer skills and how Python is used for those jobs.
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.
Demonstrate how to look up Python syntax or concepts from the official documentation.
Demonstrate how to research and evaluate your own solutions to programming problems you may encounter.
Why? Explain at least two reasons to use comments in code.
Single Line. Demonstrate how to create a single line comment.
End of Line. Demonstrate how to create an end of line comment.
Multi-line Comment. Demonstrate how to create a comment that spans multiple lines.
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.
Attribution. Explain the issues involved when coders include identifying information about themselves in code. Compare and contrast this to including copyright and licensing information.
Import. Demonstrate how to import a module by name.
Import Alias. Demonstrate how to import a module by name with alias.
Specific Symbols. Explain what a symbol means. Demonstrate how to import one or more specific symbols from a single module.
Never Star. Explain why importing with star (
*) is an anti-pattern (no matter how many tutorials and books use it).
Print with New Line. Print "Hello world!" to the console with a new line as the ending.
Print to One Line, Multiple Prints. Using two separate print function calls print "Hello world!" to the same line.
Print to Multiple Lines, One Print. Using a single print function call print "Hello" and "world!" to separate lines with a blank line between.
Explain the origin and meaning of the terms "indent", "tab stop", "carriage return" and "line feed" and how they apply to modern programming output.
Print to One Line, in Color. Using only the
cprint function print anything in a different color to the console.
Print to One Line, Different Colors. Using only the
cprint function print at least two words, colored differently, to the console.
Print with Colored Background. Using on the
cprint function print something to the console with a different background color.
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.
Variables. Explain what a variable is and why it is needed. Where does the name come from. Give an example of using one.
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.
Naming Convention. Describe how to name variables in Python and why it matters.
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.
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. 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.
Predefined. Demonstrate how to use one or more predefined constants from the study of math and physics by importing the appropriate module.
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?
Four Common. Tell the four common types in most all languages? Describe their synonyms. Identify their differences and the syntax for each.
None Type. Explain the
None type and when you would use it.
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.
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.
Simple. Demonstrate declaring and assigning all three types with proper syntax both on a single line and across multiple lines. Use proper, readable style.
Indexing. Demonstrate the syntax of to look up one item from each of the collection data types. How do the lookup indexes differ?
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?
Declaration. Demonstrate how to declare each collection type.
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).
Getting. Demonstrate how to get the items from each collection explain the difference when there is more than one way.
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.
Removing. Demonstrate how to remove items in each of the collection types (if possible).
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.
Definition. Describe what type casting is as well as why and when it is needed.
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.
Integer Conversion. Demonstrate converting a string, float, and Boolean to an integer. Describe what happens in the conversion.
Float Conversion. Demonstrate converting a string, integer, and Boolean to a float. Describe what happens in the conversion.
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.
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.
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.
Input Function. Demonstrate how to use the
input() function both with the following types: string, integer, float, and Boolean.
Python Only. Describe why the
input() function is special to Python compared to most other languages.
Avoid Old Python Version. Show how to identify old Python (not 3) by the input function that is used.
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.
Warning About Python 2. Explain why the division operators in Python 2 are particularly dangerous—especially for beginners.
Modern Exponent Operator. Explain why some tools might show an error for using the
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.
Rounding Errors. Discuss why rounding often introduces errors that are harder to detect than floor or ceiling.
Join. Demonstrate how to join two strings together using the join operator. Explain why it is called a join operator.
Repeat. Demonstrate how to repeat a string multiple times. Explain why it is called the repeat operator.
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?
Definition. Explain what it means to augment something.
Prerequisites. Demonstrate what is first needed before an augmenting operator can be used.
Usage. Demonstrate the addition, subtraction, multiplication, division, and exponent augment operators by altering existing variables.
Variables Only. Explain why augmented assignment cannot be done to a true constant.
Definitions. Explain why logical operators are needed.
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.
Definition. Explain the meaning and purpose of a code block.
Scope. Describe how code blocks can affect scope.
Syntax. Demonstrate the specific syntax for beginning and ending a code block.
Definitions. Explain what control flow means related to programming and how conditions can change it.
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).
Blue Sky. Explain the concept blue sky and how it relates control flow.
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.
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.
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.
Natural Language. Summarize your control flow code using natural language to describe what is going on.
Switch. Explain how to accomplish the effect of the
switch statement (which has been left out of Python amid controversy about its usefulness).