Lesson Summary


PyCharm, an IDE for Python, will be introduced. Keywords, file, and variable naming conventions will be addressed.


  • Students will find and launch PyCharm.
  • Students will configure PyCharm's appearance.
  • Students will create a Python project in PyCharm.
  • Students will name and save projects according to the requirements of their instructor.
  • Students will create a Python file (.py file).
  • Students will add line numbers to the file.
  • Students will add comments to the file.
  • Students will write, debug, and run a simple Python program.


  1. Getting Started (10 min)
  2. Guided Activity (20 min)
    1. Introduction to PyCharm
  3. Summative Assessment (20 min)
    1. Programming Exercise
  4. Homework Assignment

Learning Objectives

CSP Objectives

Big Idea - Creativity
  • EU 1.2 - Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem.
    • LO 1.2.1 - Create a computational artifact for creative expression. [P2]
      • EK 1.2.1A - A computational artifact is something created by a human using a computer and can be, but is not limited to, a program, an image, an audio, a video, a presentation, or a Web page file.
      • EK 1.2.1B - Creating computational artifacts requires understanding of and use of software tools and services.
      • EK 1.2.1C - Computing tools and techniques are used to create computational artifacts and can include, but are not limited to, programming integrated development environments (IDEs), spreadsheets, three-dimensional (3-D) printers, or text editors.
    • LO 1.2.5 - Analyze the correctness, usability, functionality, and suitability of computational artifacts. [P4]
      • EK 1.2.5A - The context in which an artifact is used determines the correctness, usability, functionality, and suitability of the artifact.
      • EK 1.2.5B - A computational artifact may have weaknesses, mistakes, or errors depending on the type of artifact.
Big Idea - Programming
  • EU 5.1 - Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
    • LO 5.1.2 - Develop a correct program to solve problems. [P2]
      • EK 5.1.2D - Program documentation helps programmers develop and maintain correct programs to efficiently solve problems.
      • EK 5.1.2E - Documentation about program components, such as code segments and procedures, helps in developing and maintaining programs.
      • EK 5.1.2F - Documentation helps in developing and maintaining programs when working individually or in collaborative programming environments.
      • EK 5.1.2J - A programmer designs, implements, tests, debugs, and maintains programs when solving problems.
  • EU 5.4 - Programs are developed, maintained, and used by people for different purposes.
    • LO 5.4.1 - Evaluate the correctness of a program. [P4]
      • EK 5.4.1C - Meaningful names for variables and procedures help people better understand programs.
      • EK 5.4.1E - Locating and correcting errors in a program is called debugging the program.
      • EK 5.4.1F - Knowledge of what a program is supposed to do is required in order to find most program errors.

Math Common Core Practice:

  • MP1: Make sense of problems and persevere in solving them.

Common Core ELA:

  • RST 12.3 - Precisely follow a complex multistep procedure
  • RST 12.4 - Determine the meaning of symbols, key terms, and other domain-specific words and phrases
  • WHST 12.2 - Write informative/explanatory texts, including the narration of historical events, scientific procedures/experiments, or technical processes
  • WHST 12.6 - Use technology, including the Internet, to produce, publish, and update writing products

Key Concepts

Students will learn what an IDE (Integrated Development Environment) is and why it is good to use one when programming. 

Students will be able to find, configure and use the PyCharm IDE to write, save, run, debug and retrieve their Python modules according to the requirements of their instructor. 


Essential Questions

  • How can computing and the use of computational tools foster creative expression?
  • How are vastly different kinds of data, physical phenomena, and mathematical concepts represented on a computer?
  • How do computer programs implement algorithms?
  • How do people develop and test computer programs?

Teacher Resources

Student computer usage for this lesson is: required

For the Students

Lesson Plan

Getting Started (10 min)

  • Journal: What environments have you already used to write Python programs?
  • Share answers in class.
  • After students have shared their answers, introduce the topic of Integrated Development Environments (IDEs). Explain that an IDE provides a way to manage files, write code, get help with code syntax and usage, and the ability to test, run, and debug programs in an environment they are able to configure to their own liking.
  • As defined by Wikipedia:  “An integrated development environment (IDE) or interactive development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, automation tools, and a debugger. Most modern IDEs offer intelligent code completion features.” (From: http://en.wikipedia.org/wiki/Integrated_development_environment)
  • Have students go to Python Central at http://www.pythoncentral.io/the-best-python-ides-you-can-use-for-development/ for a list of the top IDEs for Python. PyCharm is listed as one of the best. Explain to students that they will be learning to use the PyCharm IDE.
  • Share tweets from the homework about the 7 aspects of programming quickly standing up in place and sharing.
      1. Catch a shooting star (variables)
      2. Dictionary (data types)
      3. Russian Dolls (things within things, instances)
      4. Sausage (processes)
      5. The dog, the cat, and the fish (causation, event change)
      6. Pizza (abstraction) include why abstraction is "like making pizza," and what other kinds of activities might fall into that category.

        If they did not assign the homework, review Seven things you should know if you’re starting out programming 

         Have students go to the article Seven things you should know if you’re starting out programming at 


Activity (20 min)

Introduction to PyCharm

  • Find and launch PyCharm. If there is not a shortcut on your desktop, go to Programs >> JetBrains >> JetBrains PyCharm Community Edition 3.4.1.
  • The first screen will provide options for Create New Project, Open Directory, Check out from Version Control, Configure, and Docs and How-Tos.
  • Select Configure >> Settings >> Appearance. Explore Screens under UI Options. IntelliJ is the default appearance
    • Darcula and Windows are some other options.
    • Students should explore other options available.
    • Students should play with the appearance and select a new one (with your approval) if they have a preference.
  • Click the arrow to go back to the Quick Start menu.
  • Click Create New Project.
  • Give the project a name.
    • Click the ellipses (the … at the end of the location field) to navigate to the location you need to save your work.

Teacher note: This may be a good time to have students configure the default Working Directory as shown in the Python and PyCharm Installation and Configuration Guide file in the lesson resources folder.

  • When you click “OK,” your project will be created.
  • Click File >> New >> Python File to create your .py file. Name your first .py file rate_time.
    • The code for this module will be copied from the ‘Non-Programmer's Tutorial for Python 3/Who Goes There?’ tutorial shortly.
  • Click OK to create the file.
    • The user name of the author of the file will appear at the top of the code window with the default comment method.
  • Take students through some configuration modifications, such as adding line numbers, showing the console, and changing the default for comment style, all covered in the Installation and Configuration Guide.
    • If you are projecting your screen, you can use Presentation Mode to make viewing easier for students.
  • Allow students some time to explore the environment.
  • Visit Non-Programmer's Tutorial for Python 3/Who Goes There?
  • Prior to copying the code for rate_time.py and area.py, take students through the sections in the Non-Programmer's Tutorial for Python 3/Who Goes There? on Input and Variables.
  • Explain and model variable types and their behaviors, and concatenation.
    • For ease of use, consider using the comma at this time to avoid confusion about concatenation.
  • Create, save, run and debug programs rate_time.py and area.py.
  • To run a program for the first time, go to Run and select the file you want to run.
    • After that, the Run command will appear in the upper right corner of the PyCharm IDE.
  • As you add new modules to the project you will need to go to Run and select the new file.
    • After that, the file names will appear in a drop-down menu next to the green Run arrow.
  • If it has not already been configured, go to Tools >> Run Python Console to show the console at the bottom of the PyCharm environment. Students can use this to test their code as they have in other environments.
  • In the PyCharm console, test code from An Informal Introduction to Python 3.1 Using Python as a Calculator. (https://docs.python.org/3.4/tutorial/introduction.html#using-python-as-a-calculator).

Summative Assessment (20 min)

Students are to:

  • Create a new Python module (.py) called name.py.
  • Comment in their name, date, and name of project as directed by their instructor at the top of their code window.
  • Assign their full name to an appropriately named variable.
  • Assign their age to an appropriately named variable.
  • Output their name and age as a sentence, with variables and literal values concatenated correctly.
  • Debug any errors and run their program with the correct output and without error.

Sample code (will throw an error) 

# author = 'iam tester'
# date July 4, 2024
# name.py
name = 'Ima Tester'
age = 15
print (name + " is " + age + " years old.")

The above code will throw an error, because age is an integer and needs to be expressed as a string OR concatenated using a comma (,).

 name = 'Ima Tester'
age = 15
print (name,"is",age,"years old.")

Important notes about naming your files and variables:

  • Our Python coding examples will follow the PEP 8 Style Guide. (http://legacy.python.org/dev/peps/pep-0008/)
    • Teachers are not required to use this standard but should establish their classroom conventions for students to follow.
  • Modules written in Python, .py file names, should be in all lower case as is done with the sample files in the Python for Everybody textbook. (https://www.py4e.com/code3/)
  • Variable names should begin with a lowercase letter with multiple words separated by an underscore.
    • Teachers may choose to use camelCase or another naming system and should be specific and consistent with students regarding these requirements.
  • Python file names and variable names must not begin with a number, and cannot be the same as Python keywords: 
 and       del       from      not       while
as        elif      global    or        with
assert    else      if        pass      yield
break     except    import    print
class     exec      in        raise
continue  finally   is        return 
def       for       lambda    try

(from http://www.pythonforbeginners.com/basics/keywords-in-python)

  • For more information concerning variable names and keywords to Python, go to

Homework Assignment

  1. Use two sources to find definitions of "algorithm", cite the sources
  2. Write down the steps involved in a daily task – creating a peanut butter and jelly sandwich; getting to school; brushing teeth; completing homework; etc…) 

Options for Differentiated Instruction

 Students can work in pairs, side by side, to help each other through each step of the process.


Evidence of Learning

Formative Assessment

Checks for understanding throughout the entire process of learning to use the PyCharm IDE by using active participation in trying each step of the process and having students help their elbow partner when difficulties arise.

Summative Assessment

Assessment tasks:

  • Create a new Python program file.
  • Add a comment containing their name, date, and name of project as directed by their instructor at the top of their code window.
  • Assign their name to an appropriately named variable.
  • Assign their age to an appropriately named variable.
  • Output their name and age as a sentence with variables and literal values concatenated correctly.
  • Debug any errors and run their program with the correct output and without error.