Git Product home page Git Product logo

python-level-1's Introduction

Python Apprentice Curriculum

The League's Python Apprentice curriculum introduces students to the core feature of Python using professional tools like Github and Visual Studio Code. The course is aligned with the PCEP™ – Certified Entry-Level Python Programmer exam from the Python Institue, so students who have completed this course will be familiar with all of material on the test.

Getting Started

First, read the Getting Started guide at

https://python-apprentice.jointheleague.org/getting_started.html

Next, after you've started the Codespaces editor, click on the file browser in the left of the window to open the first lesson, which is in the directory:

lessons/lessons/00_Turtles/01_Get_Started.ipynb

python-level-1's People

Contributors

ericbusboom avatar

Watchers

 avatar The LEAGUE of Amazing Programmers avatar

python-level-1's Issues

add topics associated with print() string?

I think the .ipynb lesson files are a great addition to the curriculum. I did notice that one concept topic could be added. (Maybe it shows up later?) For example in 06_Variables_and_Functions.ipynb, there is a piece of code

print("Angle for ", sides, " sides is ", angle)

There is a lot going on here: "Angle for " is a string literal that literally prints out what is in the double quotes; 'sides' is a variable so it prints out the value stored in it; and the comma does string concatenation, or gluing strings together. Do these ideas show up in any lesson files?

PCEP Alignment - suggestion

On the page https://python-apprentice.jointheleague.org/about.html, presenting the Modules and PCEP Alignment (with all that technical jargon) could be very intimidating to a novice programmer. I question why they even need to see this alignment info before starting on their coding journey. (As a way of perhaps putting yourself in their shoes, imagine if you were reading it in Norwegian or Japanese!)

Maybe just have a hyperlink to a separate page with the alignment info. So someone optionally interested in seeing the info could click on it.

Separate Code Cells - Minor

Location: lessons/00_Turtles/08a_More_Turtle_Programs.ipynb

Issue: in the 3 lessons after instructions are to copy the cells into the .py file. The copied cells bring in a lot of non code as well which need to be either commented out or deleted.

Solution: Cut and paste the code portion into a cell just under the other instructions and info.

Codespace instructions - minor

  • In 04_Check_In_Your_Code.ipynb, maybe add a note about how to exit the CodeSpace (besides just letting it time out).
  • In 01_Getting_Started.ipynb, I had trouble sliding over the ‘Simple Browser’ tab. Maybe it was operator error on my part? On the top right of that browser window, after I clicked on the icon “split editor right”, it worked.

Fix Error - Minor

Location: lessons/00_Turtles/12_Color_Lines.py

Issue: tina.done() at the bottom of the file produces an error.

Solution: replace tina with turtle

simplify cell code - minor

In 01_Get_Started.ipynb, there is a cell with the following code:

import datetime
date = datetime.date.today().strftime("%B %d, %Y")
s = F"Hello 👋 World 🌎 ! Today is {date}"
print(s)

To a novice, that would probably look very intimidating. Why not have just the following (which is pretty intuitive even to a novice):

s = “Hello World!”
print(s)

Grammar - Minor

Functions

Issue:
We can make another more improvement in our program; by grouping
the comands to create a shape into a function. Here is an example of a function:

Solution:
Remove "more" / Add an "m" to "commands".

Location:
lessons/00_Turtles/06a_Variables_and_Functions.ipynb

Typos and Minor Change

There are a few typos in lessons/00_Turtles/04_Check_In_Your_Code.ipynb where it says "accecss" instead of access.
Also, I think we should add hints to some of the lessons like lessons/00_Turtles/03b_Turtle_Tricks.py to help them. For example, you can give them the code for tina.circle(radius) and how to use it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.