All resources in Brandon HS CTE Instructors

Making Games with Python & Pygame

(View Complete Item Description)

This book will teach you how to make graphical computer games in the Python programming language using the Pygame library.This book assumes you know a little bit about Python or programming in general. If you don’t know how to program, you can learn by downloading the free book "Invent Your Own Computer Games with Python" from http://inventwithpython.com. Or you can jump right into this book and mostly pick it up along the way. This book is for the intermediate programmer who has learned what variables and loops are, but now wants to know, "What do actual game programs look like?" There was a long gap after I first learned programming but didn’t really know how to use that skill to make something cool. It’s my hope that the games in this book will give you enough ideas about how programs work to provide a foundation to implement your own games.

Material Type: Textbook

Author: Albert Sweigart

Minecraft Pi_ Introduction to Python

(View Complete Item Description)

Minecraft Pi is a free version of Minecraft that is available as a part of the Raspbian operating system. The world of Minecraft Pi can be changed using the Python programming language and this activity will introduce you to the basics. This lesson is adapted from https://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/worksheet/ under a Creative Commons license.

Material Type: Activity/Lab

Authors: Alexandra Houff, MDPL

Data Analysis and Visualization in Python for Ecologists

(View Complete Item Description)

Python is a general purpose programming language that is useful for writing scripts to work effectively and reproducibly with data. This is an introduction to Python designed for participants with no programming experience. These lessons can be taught in one and a half days (~ 10 hours). They start with some basic information about Python syntax, the Jupyter notebook interface, and move through how to import CSV files, using the pandas package to work with data frames, how to calculate summary information from a data frame, and a brief introduction to plotting. The last lesson demonstrates how to work with databases directly from Python.

Material Type: Module

Authors: Maxim Belkin, Tania Allard

Think DSP: Digital Signal Processing in Python

(View Complete Item Description)

The examples and supporting code for this book are in Python. You should know core Python and you should be familiar with object-oriented features, at least using objects if not defining your own. If you are not already familiar with Python, you might want to start with my other book, Think Python, which is an introduction to Python for people who have never programmed, or Mark Lutz’s Learning Python, which might be better for people with programming experience.

Material Type: Textbook

Author: Allen B. Downey

Data Analysis and Visualization with Python for Social Scientists

(View Complete Item Description)

Python is a general purpose programming language that is useful for writing scripts to work effectively and reproducibly with data. This is an introduction to Python designed for participants with no programming experience. These lessons can be taught in a day (~ 6 hours). They start with some basic information about Python syntax, the Jupyter notebook interface, and move through how to import CSV files, using the pandas package to work with data frames, how to calculate summary information from a data frame, and a brief introduction to plotting. The last lesson demonstrates how to work with databases directly from Python.

Material Type: Module

Authors: Geoffrey Boushey, Stephen Childs

Think Python 2e

(View Complete Item Description)

Think Python is an introduction to Python programming for beginners. It starts with basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. Larger pieces, like recursion and object-oriented programming are divided into a sequence of smaller steps and introduced over the course of several chapters.

Material Type: Textbook

Author: Allen Downey

Workshop: Python Programming for Linguists

(View Complete Item Description)

In this workshop, consisting of videos, exercises, code examples, and a (recorded) live session, learners are introduced to Python and its application in (corpus) linguistics. After a short general introduction to programming as well as Python, the language is utilized to solve several (corpus) linguistic exercises.

Material Type: Activity/Lab, Full Course, Lecture, Syllabus

Author: Ingo Kleiber

Jupyter notebooks and videos for teaching Python for Data Science

(View Complete Item Description)

This curriculum was designed for high school students with no prior coding experience who are interested in learning Python programming for data science. However, this course material would be useful for anyone interested in teaching or learning basic programming for data analysis. The curriculum features short lessons to deliver course material in “bite sized” chunks, followed by practices to solidify the learners' understanding. Pre-recorded videos of lessons enable effective virtual learning and flipped classroom approaches. The learning objectives of this curriculum are: 1. Write code in Python with correct syntax and following best practices. 2. Implement fundamental programming concepts when presented with a programmatic problem set. 3. Apply data analysis to real world data to answer scientific questions. 4. Create informative summary statistics and data visualizations in Python. 5. These skills provide a solid foundation for basic data analysis in Python. Participation in our program exposes students to the many ways coding and data science can be impactful across many disciplines. Our curriculum design consists of 27 lessons broken up into 5 modules that cover Jupyter notebook setup, Python coding fundamentals, use of essential data science packages including pandas and numpy, basic statistical analyses, and plotting using seaborn and matplotlib. Each lesson consists of a lesson notebook, used for teaching the concept via live coding, and a practice notebook containing similar exercises for the student to complete on their own following the lesson. Each lesson builds on those before it, beginning with relevant content reminders from the previous lessons and ending with a concise summary of the skills presented within.

Material Type: Activity/Lab, Full Course, Homework/Assignment, Lesson Plan

Authors: Alana Woloshin, April Kriebel, Audrey C. Drotos, Brooke N. Wolford, Gabrielle A. Dotson, Hayley Falk, Katherine L. Furman, Kelly L. Sovacool, Logan A. Walker, Lucy Meng, Marlena Duda, Morgan Oneka, Negar Farzaneh, Rucheng Diao, Sarah E. Haynes, Stephanie N. Thiede, Vy Kim Nguyen, Zena Lapp

CS04ALL: Command Line Python

(View Complete Item Description)

Students are presented with information relating to stand alone Python programs, stdin, stdout, and command line arguments. This is a lab exercise. After completion students should be able to create executable Python programs which can accept input from stdin or command line arguments.

Material Type: Activity/Lab

Author: Hunter. R Johnson

Python Programming for the Humanities -- A Python Course for the Humanities

(View Complete Item Description)

The programming language Python is widely used within many scientific domains nowadays and the language is readily accessible to scholars from the Humanities. Python is an excellent choice for dealing with (linguistic as well as literary) textual data, which is so typical of the Humanities. In this book you will be thoroughly introduced to the language and be taught to program basic algorithmic procedures. The book expects no prior experience with programming, although we hope to provide some interesting insights and skills for more advanced programmers as well. The book consists of 10 chapters. Chapter 5 and Chapter 6 are still in draft status and not ready for use.

Material Type: Data Set, Full Course, Primary Source, Textbook

Authors: Folgert Karsdorp and Maarten van Gompel, modifications by Mike Kestemont and Lars Wieneke

Python loops

(View Complete Item Description)

The following topics are covered: While Loops For Loops Nested loops Break and continue Loops else enumerate() Applications: Turtle library with loops and decision procedures. Prior knowledge of variables, assignments, expressions, input-output, lists, and conditionals is recommended. For CS0 students. Part of the CUNY CS04All project. Comments Lecture slides come in three formats, are are packed into Instructor_Materials.rar along with programs accompanying the lecture slides. In-class work, HW assignment, assessment questions together with all the programs are in the ActivitiesAndAssignments.rar archive.

Material Type: Lecture Notes

Author: Natalia Novak

The Programming Historian 2: Python Introduction and Installation

(View Complete Item Description)

Downloading a single record from a website is easy, but downloading many records at a time – an increasingly frequent need for a historian – is much more efficient using a programming language such as Python. In this lesson, we will write a program that will download a series of records from the Old Bailey Online using custom search criteria, and save them to a directory on our computer. This process involves interpreting and manipulating URL Query Strings. In this case, the tutorial will seek to download sources that contain references to people of African descent that were published in the Old Bailey Proceedings between 1700 and 1750.

Material Type: Diagram/Illustration

Author: Adam Crymble

The Programming Historian 2: Python Introduction and Installation

(View Complete Item Description)

This first lesson in our section on dealing with Online Sources is designed to get you and your computer set up to start programming. We will focus on installing the relevant software – all free and reputable – and finally we will help you to get your toes wet with some simple programming that provides immediate results. In this opening module you will install the Python programming language, the Beautiful Soup HTML/XML parser, and a text editor. Screencaps provided here come from Komodo Edit, but you can use any text editor capable of working with Python. Here’s a list of other options: Python Editors. Once everything is installed, you will write your first programs, “Hello World” in Python and HTML.

Material Type: Diagram/Illustration

Author: William J. Turkel and Adam Crymble

Think Python 2nd Edition

(View Complete Item Description)

The goal of this book is to teach you to think like a computer scientist. This way of thinking combines some of the best features of mathematics, engineering, and natural science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating tradeoffs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.

Material Type: Primary Source, Textbook

Author: Allen B. Downey

What is Programming?

(View Complete Item Description)

Programming is the process of creating a set of instructions that tell a computer how to perform a task. Programming can be done using a variety of computer programming languages, such as JavaScript, Python, and C++. Created by Pamela Fox.

Material Type: Lesson

Author: Pamela Fox

The Programming Historian 2: Creating and Viewing HTML Files with Python

(View Complete Item Description)

This lesson uses Python to create and view an HTML file. If you write programs that output HTML, you can use any browser to look at your results. This is especially convenient if your program is automatically creating hyperlinks or graphic entities like charts and diagrams. Here you will learn how to create HTML files with Python scripts, and how to use Python to automatically open an HTML file in Firefox.

Material Type: Diagram/Illustration

Author: William J. Turkel and Adam Crymble

Introduction to Functional Programming

(View Complete Item Description)

Broadly speaking, functional programming is a style of programming in which the primary method of computation is the application of functions to arguments. Among other features, functional languages offer a compact notation for writing programs, powerful abstraction methods for structuring programs, and a simple mathematical basis that supports reasoning about programs. Functional languages represent the leading edge of programming language design, and the primary setting in which new programming concepts are introduced and studied. All contemporary programming languages such as Hack/PHP, C#, Visual Basic, F#, C++, JavaScript, Python, Ruby, Java, Scala, Clojure, Groovy, Racket, … support higher-order programming via the concept of closures or lambda expressions. This course will use Haskell as the medium for understanding the basic principles of functional programming. While the specific language isn’t all that important, Haskell is a pure functional language so it is entirely appropriate for learning the essential ingredients of programming using mathematical functions. It is also a relatively small language, and hence it should be easy for you to get up to speed with Haskell. Once you understand the Why, What and How that underlies pure functional programming and learned to “think like a fundamentalist”, we will apply the concepts of functional programming to “code like a hacker” in mainstream programming languages, using Facebook’s novel Hack language as our main example. This course assumes no prior knowledge of functional programming, but assumes you have at least one year of programming experience in a regular programming language such as Java, .NET, Javascript or PHP.

Material Type: Full Course

Author: dr. Erik Meijer