6

I explain the concept by mysteriously showing this image as a prop: It always gets a laugh, which is nice :) Though, really, this image (which I haven't found before) might lead to a richer discussion: What I follow with is examples with arrays, along the lines of the following, and have students discuss in small groups what will work and what won't. We ...


4

I'm adding in a second answer to look at a few heftier assignments, worthy of a lab. These were created by a truly fantastic colleague of mine. The game Nim is excellent for a loop with no arrays. You can use just three variables to keep track of the state of the game, and a variable and an if statement to deal with the player. (Kids at this level will ...


4

I expect to update this a few times and hope to eventually have a long answer. But let me start by explaining some things that you may already be aware of, but other readers may not. First, OO programming is not, fundamentally, about inheritance and too many books and authors fail to understand that. Moreover, they use inheritance in a dreadful way that ...


4

Note that the following are intended for the instructor, not always directly for the student. If used well they require some analysis, not just coding, from the student. Use the fact that the sum of the first n odd numbers is $n^2$ to compute the integer square root of an integer. Test data should include 63, 64, and 65 to catch edge cases. This can be ...


3

Option 1: Scores Arsenal is going to play Real Madrid tomorrow. What is their score today? Focus on the difference between a match which concluded 0-0 and a match which has not been played yet. For the latter, the score is non-existant, which is what null represents. In general, focus on examples where zero has meaning and is not synonymous with an absence. ...


3

When you fill a form, and in the AGE field, you leave it empty THAT IS NULL. If you instead of leaving it empty, you fill it with 0 (zero) THAT IS ZERO


3

Google Classroom is a clean and feature light interface for managing the distribution and collection of course materials of a wide media variety. I teach about 100 students across five courses each semester using this platform. If you need a grade book that is integrated as well. I link to repl.it and let students fork my code in the cloud for some ...


3

My first instinct is that any LMS is overkill. LMSs manage classrooms, it's true, but they also are designed to help manage schools, and most of the administrative end (and most of the features outside of the literal classroom aspects, and even many of the features within the classrooms) of any LMS would be completely useless to you. Busing, medical ...


2

Maybe a better idea could be a quiz with automatically generated questions, like a code snippet and the request to determine the output for a given input, with different input values and variable names for each student. I actually have successfully implemented this (in part) for my first-semester programming tests this year. For example: Using the ...


2

Maybe didn't attend an exam, or register in the course, as apposed to took zero? -Or the difference between not having an account in a certain bank & having a zero balance in ur account? (The students may feel bad luck about 1st example, so I suggest u skip it unless too necessary)


2

Machine Learning for Kids is a resource for teaching ML to school age students that I have recently been playing around with. https://machinelearningforkids.co.uk/ It includes a range of projects that students can complete in Scratch, Python or App Inventor which range in challenge level. There is also a book you can buy but it is possible to use the site ...


2

These "laws" mostly reflect how people learn, so they are still quite relevant. But going through: ("Know thoroughly and familiarly the lesson you wish to teach; or, in other words, teach from a full mind and a clear understanding") is interesting in a CS context, since we often don't have fantastic knowledge of the material, because it ...


2

This is a bit of a frame-challenge, but what I'm understanding from your question is that your goals here are to: 1) Not overwhelm your students and avoid them getting lost in a plethora of blocks they won't need, 2) Force students to understand how to implement more complex blocks themselves. Have you considered instead of providing a restricted version of ...


2

VisualMelon's answer is a good one; I wanted to extend the suggestion to start on solo projects. Every team sport consists of members who need to both be individually skilled and fit, and work well together as a team. All of these things are hard to learn, and therefore more often than not it is better to learn these one at a time. Therefore, a team is ...


2

I would suggest not rushing into trying to contribute unless you have a very willing mentor: I suspect it's relatively unusual for people to contribute to packages/programs that they themselves don't use (indeed, I would be worried if this wasn't the case). That is, if you are not actually consuming any open-source Java packages/programs, then you probably ...


1

In my experience, engineers, statisticians and programmers will not use spreadsheets, they will use programming in languages such as R, python or matlab instead. To me it makes sense to spend a few hours teaching the basics of a spreadsheet app in high school so that students will know that it exists and will feel confident to learn more advanced usage if ...


1

Some basic SQL is there. Look under 2.2.3 Additional programming techniques. They also need to know about SQL injection for the network security topic.


1

I found a Python class to be so simple to write (for "mundane" tasks), that they can grow naturally out of a desire to simplify and refactor code in development. It is very much a pragmatic bottom-up approach; you were expecting to hack some simple code for a particular purpose, then it grows a bit and you find you have several functions handling &...


1

Now I have another favorite example called "Buy Low, Sell High", all the credit go to this article https://realpython.com/numpy-array-programming/#buy-low-sell-high Given a stock’s price history as a sequence, and assuming that you are only allowed to make one purchase and one sale, what is the maximum profit that can be obtained? For example, ...


1

Write a loop that reverses the characters of a string.


1

Since we introduce loops before we introduce arrays, we will often do simple programs like ask a user how many numbers they want to enter, and then find the sum of the numbers entered. Similarly, they can practice these concepts a few times to find the maximum, minimum, and average of the numbers entered. Having a few very similar tiny projects like this ...


1

Basically some experience with Discrete Mathematics and Probability , elementary Calculus is also recommend. And students are expected to be familiar with mathematical proofs, proofs by induction and good knowledge of a programming language. An Excerpt From CLRS What are the prerequisites for reading this book? You should have some programming experience. ...


Only top voted, non community-wiki answers of a minimum length are eligible