a non-majors college-level computer science course
Authored by Helen Hu, Westminster College hhu@westminstercollege.edu
Classes are 75 minutes long. Students are primarily first-year college students (1/3 CS majors).
A work in progress. See this page for more polished and tested CS 1 POGIL activities.
Acknowledgements: Many ideas come from other CSP courses, including Mobile CSP’s CSP Lessons, Jeff Gray’s CSP course at University of Alabama, and Code.org’s CS Principles curriculum.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
Email Helen for full access to all activities.
A POGIL activity originally by Urik Halliday about working in POGIL teams. A good first POGIL activity. You will need copies of these POGIL Role cards.
Basic introduction to App Inventor - works best with phones because tablets don’t vibrate
A POGIL activity to be used after students have completed their first app. This activity encourages students to explore the options in App Inventor and understand how it is laid out. It’s a good idea to print paper copies of this activity, so students don’t need to switch between Google Docs and App Inventor.
Facilitators: check answers to questions 3c, 5, and 9. Explain what Any Button means.
This lab introduces if-statements.
Started with a guided inquiry classroom activity from ECS curriculum (day 1 of Unit 1) (not a POGIL activity), leading students to create their own definition about what makes a computer.
Follow this with the POGIL activity introducing the parts of a computer (hardware / software), leading to programming structures (conditional vs repeating). A question should be added to Model 2 about hard drives versus flash storage.
Facilitators should review questions 4, 11c, and 12. Questions 14 and 15 are good ones for students to list on the board.
A POGIL activity that introduces the concept of variables, choosing good identifiers, and incrementing. Emphasizes the difference between set and get (important in App Inventor).
Facilitators should review questions 1 and 2 (emphasize that both 2 & 3 variables are reasonable answers, because there are different ways of coding the same algorithm). Ask fastest two teams to give their answers to Model 2 table and 9b on the board.
A POGIL activity based on the CS Unplugged activity for teaching binary numbers. Leads to ASCII and a first introduction of abstraction.
Facilitators should create copies of these binary cards for each group. Encourage groups to create 16, 32, 64, and 128 cards with the blanks. Key questions to review are 2c,
A POGIL activity on the parts of a loop and how the condition controls the number of iterations. This activity could easily be adapted for other programming languages.
A POGIL activity on the App Inventor operators, the modulo operator, and generating pseudo random numbers. This activity could easily be adapted for other programming languages.
Note: here’s a great story on how understanding pseudorandom numbers helped one man beat a game show.
This POGIL activity uses the Magic 8 Ball app to encourage students to design an app on “paper” before coding. Students are introduced to lists. Global variables are revisited.
Key questions to review are 2, 3, 5b (a chance to introduce the concept of “type”), 10, 11, 14.
The second half of the lesson is borrows heavily from Code.org. Here’s the lesson plan and the widget.
Key questions to review are 4d (1024, not 1000) and 8. Stop at the start of Model 2 to demo the Text Compression widget and have students create an account for Code.org. (I had my students use their Google Accounts to log in.) Have fast groups watch the video while they are waiting for everyone to finish Model 1. Then list the different text files on the board along with the best compression rates (so students can try to beat each other’s compression rates).
A POGIL activity based on Encoding B&W Images Lesson from Code.org. Key questions to review are 4d (1024, not 1000) and 8.
Extension Questions - What is a file? What meta data would be useful for Word files? For mp3 files?
A POGIL activity that builds from black and white representation to grayscale to RGB color space.
A POGIL activity introducing IP addresses, DNS servers, bandwidth and latency. Here is an older version that does not use Code.org’s internet simulator. Key questions to review are 3, 5b, 7, 10, 11c, 12, 18, 22.
A POGIL activity on TCP and the Internet that emphasizes abstraction. (Here is an older activity)
Last Year’s Activities (not yet revised):
A POGIL activity asks students to think about how programs can go wrong, and how understanding the problem and testing can help reduce errors. Students are encouraged to discuss ways of debugging their own code.
A POGIL activity that guides students through debugging an AppInventor program.
A POGIL activity that asks students to consider different ways data can be stored in an AppInventor program.
Chris Mayfield’s repository (student facing version)
Suggestions for Fall 2016: