Interacting with faculty and teaching assistants, both in and outside of the classroom, is a powerful way to give students encouragement, to impart tacit professional knowledge, and to help students begin to see themselves as computer scientists. These interactions can take place in class or in lab, during office hours, or in other settings, and are important for sustaining student interest in computing.

Some suggestions

Learn names. Make an effort to learn your students' names and use their names in class and lab, and when you see them outside of class.

Use “we.” Use inclusive terms, such as "we," and informal language to create a sense of a shared community, with you as a member. Try using questions rather than commands to invite participation, e.g., “We know it’s important to test, so how will we do this?”

Advise in class. Take opportunities in your classes to provide career and academic advice to students. You may influence students who weren’t thinking of majoring in computing to consider it.

Mentor undergraduates. Involve undergraduates in research, encourage them to attend conferences and research talks, and provide guidance on finding and navigating internships. Reach out to and encourage women and minority students in all of these things.

Make office hours easy. This can be as simple as making sure all students can find your office and are incentivized to do so. One community college professor ensures students know where her office is by requiring them to sign their name on her door in the first weeks of class.  You might also try holding office hours in places where students tend to hang out, e.g., the student union, a student lounge or lab.

Examples from the collection

Air Quality Index Calculator

In this project, students make a calculator that determines the Air Quality Index (AQI) given user-input sensor data. All calculations follow methods published by the US Environmental Protection Agency (EPA) and give students practice handling user input, rounding/truncating, calculating the max and min, and must handle a a simple calculation that requires either a look-up table or conditionals. This assignment can be given early in the semester to help students gain experience and proficiency with loops, calculating max/min, using conditionals and boolean expressions. 

It can also be used--with some modifications--at many points in the curriculum to explore more complex data structures (2d arrays or dicts), to practice function decomposition, or even object-oriented programming. I have successfully used the assignment twice in one semester, letting students return to the assignment later to see how much simpler the solution becomes when they are able to use functions and complex data structures. See the "redux" files attached here.

Engagement Excellence

Image Processing (Warhol Pop Art Filter)

This is the eighth lab for computational art (CS1) using Processing where students practice creating an Andy Warhol silkscreen image filter. The goals for this lab are:

  1. Practice creating an Andy Warhol silkscreen image filter
  2. Practice using images in Processing
  3. Practice manipulating pixels of an image
  4. Practice using arrays and writing for loops
  5. Practice indexing a 1D ray with 2D coordinates
  6. Practice using boolean logic to control which parts of an image are modified (including implicit circles) 
Engagement Excellence

Resources

POGIL: Internet II - Data

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together to learn about how data moves on the internet by comparing it to vehicles on a highway system. The also explore the concept of Net Neutrality. This is part two of a three-part series of POGIL exercises on the Internet. Click to review the preceding (Internet I) and and subsequent (Internet III) assignments.

The attached files are the student versions of Internet II. Please contact the author (Clif Kussmaul, clif@kussmaul.org) for teacher versions with solutions and additional information. Also see instructor information in the activity.

POGIL: Search II - Web Search

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together to learn how search engines work and interface with the internet, and how to use search engines more effectively. 

This is part two of a two-part series on POGIL Search. Part I can be found here. The attached file is the student version of the activity. Please contact the author (Clif Kussmaul, clif@kussmaul.org) for the teacher versions with solutions and additional information.

Ice Breaker - Paper Airplanes

This is an ice-breaker activity you can use early in a course to help students get to know each other in a low risk, fun way.

How to Do It: Students are given templates and instructions on how to build a simple paper airplane. Before making their plane, each student writes on their paper three things about themselves that they are willing to share. It's fun to encourage them to share creative or unexpected things.

They then send their plane off into the classroom, picking up others' planes and flying them. Don't be afraid to let pandemonium reign for a while! Then, have each student pick up a plane that is not their own. The goal, then, is for everyone to find the creator of the plane by introducing themselves to successive individuals, asking only questions pertaining to what's written on the plane. Once everyone has found their plane's creator, have students form a circle. The first person introduces the creator of their plane (their name and the 3 things). Then, that person introduces the creator of their plane, and so on until everyone has been introduced. 

POGIL: Internet I - Structure

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together to learn about the Internet’s structure by comparing it to a city and abstracting it to graphs, comparing highways and streets to demonstrate bandwidth, and explaining what ISPs are. This is part one of a three part series on POGIL Internet. The subsequent lessons can be found here: Internet II and Internet III.

The attached files are the student versions of Internet I. Please contact the author (Clif Kussmaul, clif@kussmaul.org) for the teacher versions with solutions and additional information.

Engagement Excellence

POGIL: Search I - Text Search

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together--and offline--to explore how text searches work using the classic poem, The Blind Men and the Elephant, as the search target. Groups work through different search approaches to better understand how computers search through text.

This is part one of a two part series on POGIL Search. Part II can be found here. The attached file is the student version of the activity. Please contact the author (Clif Kussmaul, clif@kussmaul.org) for the teacher versions with solutions and additional information.

Engagement Excellence

CS1510 (CS1) Syllabus

This is the first introductory computer science course at the University of Northern Iowa. It is a semester-long course with three one-hour classroom lectures and a two-hour interactive lab per week. It is required for computer science majors but non-majors also take the course. No prior programming experience is expected, but the class is designed to be engaging to those with and without programming experience. While a major goal of the course is to provide a good start to the development of programming skills (using Python), the course is not solely about programming.  

Upon successful completion of the course students should have gained the following skills and proficiencies: general computer and operating system usage, computer operation, a mental model of how programs are executed, machine capabilities and functions, general program design, standard approaches to common (simple) programming tasks, abstraction (data , procedural, thinking), data and problem representation, and elementary data structures.

Image Processing (Warhol Pop Art Filter)

This is the eighth lab for computational art (CS1) using Processing where students practice creating an Andy Warhol silkscreen image filter. The goals for this lab are:

  1. Practice creating an Andy Warhol silkscreen image filter
  2. Practice using images in Processing
  3. Practice manipulating pixels of an image
  4. Practice using arrays and writing for loops
  5. Practice indexing a 1D ray with 2D coordinates
  6. Practice using boolean logic to control which parts of an image are modified (including implicit circles) 
Engagement Excellence

Impressionism and Implicit Functions (Looping 2D Space)

This is the sixth lab in a course on computational art (CS1) using Processing (https://processing.org/overview/). In this lab, students write a program that creates an image using an implicit representation of geometry that is drawn using shapes to emulate paint strokes.

In this lab, students will:

  1. Practice using a loop control structure to create an image made of strokes based on implicit lines.
  2. Practice using implicit lines and implicit circles, and the distances from these equations, to create a scene or object.
  3. Create new stroke styles using patterns of points, lines, and ellipses that model the textures seen in many impressionist paintings.
  4. Practice translating mathematical functions into code. 
Engagement Excellence

Generative Art Using Loops

This is the fourth lab for computational art (CS1) where students write a program that creates two different images using Processing each of which are generated by an algorithm when the program is run. Each of the two different images must use repetition (that is, some visual elements that are repeated, but that may be slightly different) using loops and a function to draw the repeated element. The goals for this lab are:

  1. Practice using a loop control structure to generate patterns/scenes
  2. Practice using functions to re-draw parts of a scene
  3. Practice using random to produce desirable colors and design layout
  4. Practice using structured layout in 2D space
  5. Consider the role of repetition in art
Engagement Excellence

Introduction to conditionals using Surrealism (Art of Surprise)

This is the third lab for computational art (CS1) using Processing where students write a program that creates an interactive sketch including a surrealist juxtaposition (i.e. the juxtaposition of two things that create a sense of surprise based on their presence in the same frame). The goals for this lab are:

  1. Practice writing an interactive Processing program
  2. Practice using conditionals in your program
  3. Practice testing where the mouse is clicked within an area of your scene
  4. Practice using variables to control appearance
  5. Make an interactive program that visually changes when a mouse is clicked in a certain area
  6. Learn about surrealism
Engagement Excellence
Subscribe to Provide Opportunities for Interactions with Faculty