Questions tagged [lesson-ideas]

Questions with this tag relate to planning lessons for a specific purpose, such as teaching some coding paradigm or skill. Planning lessons in Computer Science depends on the context and level of the students. If it is a lesson which introduces a new topic, the tag [introductory-lesson] may also be appropriate.

Filter by
Sorted by
Tagged with
38
votes
18answers
3k views

Real life examples of 0-indexing

It can be perplexing for students to begin counting at 0 when they enter a CS class. I made it a point over and over to talk about "Day 0" and "Week 0" in the opening days and weeks just to build ...
16
votes
8answers
4k views

Demonstrating the possible dangers of SQL injection

Students building websites in a high-school computer science major (using HTML, javascript, ...
2
votes
4answers
107 views

How might I structure an assignment with two “levels”?

I've been mulling this over for several hours, and have looked at a tangentially related question here. That question was about making a task more challenging for a "more confident" learner. I have ...
5
votes
1answer
172 views

How do you teach Theory of Automata / Formal Language Theory / Computation Complexity?

i'm a new instructor & also new here. How do you teach Theory of Automata / Formal Language Theory / Computation Complexity? Is it theory only, or including programming? If theory only, how ...
5
votes
3answers
174 views

Is stressing too much on formalism acceptable?

Most of the students like the analogy way of teaching things. But I am biased towards the formal way along with a little bit of analogy. For example, (to make simple) in order to teach about a set to ...
1
vote
3answers
147 views

Make it easier, and quicker to get to the start

When teaching I often have pupils struggle in the first few minutes. When they are setting the computer up, ready to start work. They often have to follow lengthy instructions, that I print on paper, ...
0
votes
1answer
71 views

How do I teach problem solving and logical thinking to students of age group 12-18yrs through online session

I am currently researching some good content/problems to teach my students. I am referring to Mensa's Book on Logical thinking, which has a good amount of puzzles for all age groups. Is there any ...
3
votes
5answers
95 views

Counter-Example for Computability

I am a retired college teacher, now trying to teach computing to middle school kids. One of the parts of the definition of "algorithm" is that it must be "effectively computable." I'm looking for an ...
7
votes
3answers
410 views

HS Lessons On Modeling Virus Spread

I'd like to try teaching an online lesson to high school CS students on modeling the spread of a virus. Ideally it would be something that could be coded in a spreadsheet, Code.Org's Game Lab or App ...
11
votes
11answers
2k views

What is a good analogy for pass by value vs by reference?

In general, there are two ways arguments can be passed to a function. Functions can either be passed a reference to an object, or the value of that object. This is something that my students often ...
4
votes
2answers
129 views

Physical Activity for Objects

I have a vague notion that I could create some sort of introductory activity for Objects. There would be worksheets ("programs") to get kids (high school, in this case) to physically go through the ...
1
vote
1answer
59 views

How to make someone enjoy programming if they don't like the products they make? [duplicate]

Background I have a friend who loves applied math and physics, but hates programming. She is learning python right now because she thinks it's helpful in getting a math-related job, and her mom forces ...
2
votes
3answers
113 views

How to teach something when your students have a high discrepancy of knowledge?

I'm going to do a course for my entire University, this means students that are in the last year and also in the first year. What can I do so what I teach isn't too hard to understand for the first ...
10
votes
6answers
922 views

How can I make database normalization more clear?

Database normalization is needlessly clouded by over-explanation. I reviewed a wide array of web articles and several textbooks before starting to teach it. After I became thoroughly familiar with the ...
2
votes
2answers
91 views

Does it make sense to write tutorial when content of the tutorial can be already learned from internet without that tutorial?

For example, does it makes sense to write tutorial called Best Intellij shortcuts. You can already find so many shortcuts online in many places. If the answer is "...
2
votes
1answer
44 views

How to construct non computer-based, Paper Parsons Problem

I was reading this article “Ten quick tips for teaching programming” by Neil C. C. Brown and Greg Wilson at https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5886386/ It had many useful suggestions one of ...
64
votes
21answers
16k views

What are good examples that actually motivate the study of recursion?

One of the traps of imperative-first is how difficult it becomes to help students make sense of recursion when they finally encounter it. And if those kids are fairly competent iterative programmers, ...
8
votes
6answers
243 views

How would you explain what is a race condition to a five years old

TL;DR: How would you explain what is a race condition to a five years old. Which analogy to concepts he is familiar with would you use? Long version: I am not a teacher but a software engineer. ...
3
votes
2answers
160 views

Recent Graduate becomes a teacher

In less than one month I'll be graduating from the equivalent of high school (I'm in Latvia). In my high school you also get a certificate based on which career you choose eg. a Chef or a Computer ...
-1
votes
2answers
97 views

How To develop One's Interest in Programming [closed]

My younger brother is having a hard time learning programming. This seems strange because he's very good at other computer related subjects. He isn't choosing any other field, so how can he develop ...
5
votes
2answers
126 views

Assignment repositories

Are there any assignment repositories that you use for assignment ideas? I am aware of the Nifty Assignments from Stanford and have used several. There are a lot of good fine grained problems on ...
10
votes
6answers
435 views

Helping students adjust to using industrial-strength IDEs

Something I've often observed is that many students find it challenging to figure out how to use full-fledged IDEs such as Eclipse, Netbeans, Visual Studios, IntelliJ, and PyCharm. From what I can ...
40
votes
20answers
9k views

How to teach the value of the command line in high school?

Part of what I love about the particular adaptation I use for AP CS Principles — CS50 AP — is that my curriculum teaches students basic Linux shell commands in the Cloud9 IDE. Students learn things ...
1
vote
2answers
67 views

How to introduce problem solving to primary school pupils?

I'm interested into knowing your experiences about introducing problem solving to primary school pupils. I'm a PhD candidate in Operations Research and, together with my University or my public ...
2
votes
3answers
61 views

Suggestions for teaching selection sort with candy

It's the end of the semester, so my students are pretty burnt out, and a bit of sugar might go a long way (plus, evaluations are around the corner ;-). I'm envisioning a tactile class where students ...
2
votes
1answer
106 views

How to give students practice with streaming computation?

I'm teaching a theory-focused randomized algorithms course at the undergraduate level, and have included a section on streaming algorithms. It would be great to get students to implement these ...
5
votes
4answers
318 views

Examples of innocent looking faulty code for shock effect

I'm becoming more and more convinced that starting with an imperative attitude is not doing a favor to the students, especially if it's all about scheduling and repeating some ...
2
votes
2answers
59 views

Turtle examples for loops and variables, or even something else

I'm going to teach using the well known drawing turtle, with one developed by me to fit my students, so in case it can also be modified. It features drawing movement, non-drawing movement and pen ...
5
votes
5answers
411 views

What is a good teaching example/application for jagged arrays (2d arrays with irregular row lengths)?

We are teaching an AP CS class and the topic of 2d-arrays is coming up. There are plenty of cool and approachable sample applications for standard rectanglular arrays - matrix math, MIDI music, sudoku,...
3
votes
2answers
74 views

Advise on a class project

Me and my friend are both in high school taking a “PLTW” Engineering class, where our goal is to design a solution to any problem and work on that solution over the course of the year. We’re reaching ...
14
votes
10answers
5k views

How do I approach teaching Python to 12-year-olds as a first-time teacher?

I'm currently teaching Python, to three 12-year-olds. They have no experience at all, and my task is to introduce them to programming concepts, and to Python. I'm fairly experienced in programming, ...
5
votes
3answers
212 views

Short foundational lessons for 7-8 year olds

I have an opportunity to run four classes of about half an hour, with 7 to 8 year olds (my sons age). This is part of a program called STEM professionals in schools. All I am there to do really is ...
7
votes
4answers
188 views

Python function has access to global variables, and doesn't need passed arguments

When teaching functions in Python I get a little annoyed that the code below actually prints out the greeting. I know the preferred way would be to pass in the name, but, for students, if it works ...
11
votes
8answers
459 views

Explaining basic html structure

I am trying to think of a lesson plan about html, and I am looking for a good way to explain the concept of the structure of an html file. I was wondering whether ...
9
votes
4answers
284 views

How to effectively teach strings and string literal constants?

I am teaching a general introductory CS course to 18-19 year olds, with Python3 as a support language, and I am not satisfied with how some students respond to strings and string literals. That is ...
4
votes
2answers
77 views

Lab ideas for set theory

The title of the question actually says almost everything there is to say. I cannot think of any programming labs whatsoever that would naturally flow from set theory. My students will be coding in ...
4
votes
0answers
93 views

Small to medium scale exercises about Haskell's higher abstractions

Short version: Where can I find highly varying, small or medium-sized exercises and examples on the use, identification and instance declaration of Haskell's abstractions such as applicatives, monads, ...
8
votes
2answers
122 views

How to teach sums and asymptotics to students who don’t know limits

I am to teach sums and asymptotics to first year CS undergraduates who have only high school math. I thought it would be attractive to follow chapter 14 of https://courses.csail.mit.edu/6.042/...
2
votes
1answer
103 views

How to structure a Predictive Keyboard project similar to GBoard

Many are now familiar with GBoard, the Google / Android predictive Keyboard. I don't actually know how it works. Obviously it must gather usage data on the device where it is being used, but it ...
10
votes
5answers
511 views

Lesson Idea: Arrays, Pointers, and Syntactic Sugar

One of the most challenging concepts to instill in new CS students is 0-indexing (indeed, the pedagogy of this fact probably merits its own discussion). Another difficult topic -- although a slightly ...
51
votes
13answers
9k views

Interesting Programming Exercises to Teach Inheritance?

I originally asked this over on Stack Overflow, but they suggested I look here instead: I'm currently teaching my students about the concept of inheritance (we're using Python 3) but am unable to ...
5
votes
3answers
135 views

“Computer sciency” and “practical” exercices involving dictionaries

I am teaching a course in data structures to a 2o semester. We hear often that the dictionary is a very versatile data structure, and solves quite so many problems. I'd like to illustrate that, but, ...
5
votes
4answers
104 views

Use of jshell in AP CS A

I recently installed jshell in my IDE for use in demoing concepts in AP CS A. It came at just the right time as it was a powerful way to teach ArrayLists and its ...
18
votes
6answers
7k views

How do you teach Big O to high schoolers with varying degrees of math exposure?

My second semester programming curriculum includes a searching and sorting unit and mentions Big O notation, giving the notation for each search and sort we implement. It does not show the ...
12
votes
5answers
2k views

Effectiveness of Parsons Problems

I first heard of Parsons Problems thanks to CS Teaching Tips. They define these problems as follows: "Parsons problems are problems where students build programs from ordering small chunks of ...
4
votes
2answers
121 views

Is there any pedagogically motivated reason to teach quadratic probing?

I'm currently preparing a unit on the implementation of hash tables for a data structures and algorithms course (this is a university-level class, if it matters). Specifically, I'm focusing on ...
2
votes
3answers
182 views

Boolean Logic: How to Explain + as OR?

In a previous question, I asked about the appropriate notation when teaching Boolean logic to students ages about 11–14. I selected the notation of engineering and computer science in part because I ...
4
votes
2answers
59 views

Object Design Lab

When I have finished introducing my students to Objects (including Encapsulation, Inheritance, Polymorphism, and a healthy dose of philosophy), I would like to give them a lab with the following ...
11
votes
13answers
3k views

Explaining why styling should not be done directly in HTML

I recently noticed that <marquee> has been deprecated from html according to this site. From this answer on Stack Overflow, the marquee replacement is made ...
6
votes
3answers
175 views

Simple explanation of JPEG working principles

I will teach a lesson on image file formats in a computer science high school class. Regarding JPEG, I will say that it achieves lossy compression and that it is well suited for photographs but it ...