Stack Exchange Network

Stack Exchange network consists of 174 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange
Join us in building a kind, collaborative learning community via our updated Code of Conduct.

Questions about CS teaching to high school level students. This should be used when the context or level of the answer or question is that of high school students. In many cases, an AP tag is more appropriate because AP classes are typically taught in high school.

7
votes
3answers
169 views

Student Teaching Minetest Modding in school as club

I am a grade 11 student at school. I created and am running a programming club each lunch. We meet once a week (typically, sometimes I have to cancel since my club isn't important). We have 50 minutes ...
1
vote
1answer
95 views

Resources for the Praxis CS Test

Current middle school/high school teachers in my state who want to obtain an additional license to teach computer science (notably AP CSP/CS A) must pass the Praxis computer science test (5651). I'm ...
4
votes
4answers
246 views

What are “general purpose programming skills”?

The UK introduced its National Computing Curriculum a couple of years ago, which requires all children to study computer science from age 4, and programming from age 10. Children can opt out of the ...
18
votes
6answers
6k 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 ...
8
votes
5answers
194 views

What should be included in student portfolios for CS?

Should CS students be keeping a portfolio, and if so, what should it look like? What would you, as a potential employer or college recruiter, like to see in/on a potential employee or student ...
25
votes
8answers
7k views

How do you deal with Lone Rangers in group projects?

We all have them - students who want to write all the code themselves, who don't want to be part of a group project. They have poor social skills, or they don't know anyone else in the class, or they ...
67
votes
8answers
16k views

Is it bad to force my students not to return early?

A fellow teacher of mine is teaching "basic algorithms" course in high school, and we have quite conflicting opinions when it comes to returning from functions. ...
5
votes
2answers
47 views

App Lab/JS confusion between strings and variables

In my APCSP class (using app lab, which is javascript based), I noticed that there are many students who struggle with the difference between a string ("foo") and a ...
3
votes
4answers
177 views

What are the core concepts of discrete mathematics within CS?

Is there an accepted core set of concepts that is discrete mathematics as it applies to the study of Computer Science? The math department in my school is thinking about creating a course, they asked ...
6
votes
3answers
137 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 ...
3
votes
4answers
207 views

Popular demonstration of cryptographic tools

I'm looking for an activity for highschoolers/college-freshmen that will demonstrate crypto topics (e.g., encryption, signatures, zero-knowledge), and will be fun and motivating. It is supposed ...
6
votes
3answers
185 views

Opening a machine learning course in high school

I'm a computer science teacher and our department is thinking about opening a data analysis and machine learning course for upperclassmen at my high school. What are some topics that could be covered ...
3
votes
1answer
91 views

Merits of teaching VCS as enrichment

Senior students in the computer science major at my school work on a project which is supposed to be relatively big (i.e. just a graphic calculator isn't enough). I was wondering (for next year; it'...
2
votes
4answers
346 views

How should I respond to a student who proposes a “weak” analogy?

I'm teaching programming with JS at the highschool level, students have some prior experience with programming with different languages but are still mostly beginners, and we're working through some ...
3
votes
2answers
130 views

Advantages of teaching basic javascript through typescript

At my school the students learn some very basic javascript, and a while ago it was decided to expand on that (by teaching nodejs). by "basic", I mean that we only teach html manipulation through JS. ...
15
votes
7answers
357 views

Teaching a blind high school student

I am teaching a blind high school student in my APCSA class. All students are using a combination of CodeHS and Project Lead the Way curriculum. Neither of these are very friendly to my blind ...
7
votes
7answers
313 views

Introduction to programming class: use Spreadsheets to introduce fundamentals

Are there any "pros" or "cons" I have overlooked regarding using Excel as a means to introduce a range of fundamental programming concepts. This question relates to teaching a programming module at ...
19
votes
9answers
4k views

How can we motivate students to review each other's code?

Code review is crucial to student's academic and professional lives, yet some students see code review as a burden and a new way teachers have found to "ditch some work". By experience, code review ...
9
votes
4answers
427 views

What professional development events or conferences are out there for CS educators?

I'm trying to find a professional development event for myself as a relatively new CS educator. I'm interested in something that showcases innovative ways to teach and engage students in the subject --...
3
votes
6answers
122 views

What are some examples that could be used when teaching subroutines or methods in the context of OO?

I'm going to be teaching a group of high school students about programming, and I have a general curriculum designed already, but I can't quite figure out how to introduce methods. I'll be teaching ...
4
votes
2answers
247 views

Testing students on recursion - tracing by hand

After learning recursion in class, students take a test (a few lessons for teaching the subject, and then a test), and are then given a grade. The test is on paper, and I can't change that fact. All ...
16
votes
9answers
2k views

The order of subjects in beginner's curriculum

This year I'll be an unofficial teacher assistant in the CS class of 9th graders. Background This question is about a curriculum for introducing students to programming in java. The students are ...
6
votes
3answers
165 views

Teaching syntactic sugar

When I show my code to students I tutor, they ask about "all those things in my code", which refers (quite vaguely) to things such as shortened ifs, post\...
6
votes
2answers
157 views

Placement of App Inventor in high school CS curriculum

Over the past couple days I've had my first opportunity to dive into App Inventor. It has quite frankly blown my mind. I had always (mistakenly) grouped it with Scratch, Snap!, etc. as "just another ...
3
votes
2answers
137 views

Working with students with specific secondary skill

I often see students at levels varying from really bad to incredibly clever. The students in the middle of the scale fit to curriculum perfectly (as it is meant to be for them). The students at either ...
2
votes
2answers
121 views

Should Java Static space and Memory Model be a part of AP CS

Disclaimer: I am teaching in Canada and therefore I am unfamiliar with the American AP CS A and AP CS P curricula that others may have talked about. In my school board at least, it is still very grey ...
4
votes
2answers
138 views

Is there a compilation of AP CSP scores by curriculum?

The overall distribution of scores for the first AP CSP (Computer Science Principles) exam was recently released, and I'm wondering how much is described there about students' performance when their ...
8
votes
3answers
143 views

What are effective ways to prepare students for the AP CS Principles Exam?

First offered in 2016-17 (previously in pilot), the AP CS Principles assessment includes two open-ended through-course performance tasks and a timed paper exam containing multiple choice and multiple ...
3
votes
4answers
471 views

Lambda expressions exercises and practice

While lambda expressions in java 8 are really cool in action, the school curriculum offers no exercises in this. So essentially, students never actually learn how to use lambda expressions and the ...
5
votes
3answers
302 views

Teaching “CS integer” vs. “math integer”

The concept of an integer data type is not equivalent to the math concept of the set of integers. For example, in many programming languages the expressions 3. and $...
12
votes
4answers
2k views

How to deal with students that don't like CS?

This question is really aimed to teachers, especially in high school courses (but everyone is welcome to share some ideas). If you have a student that really does not like Computer Science, what ...
14
votes
8answers
3k views

How to teach competitive programming?

Competitive programming is mainly about problem-solving skills. Students are given a problem and they have to write a short program to solve it. The students are given a problem for which they have to ...
3
votes
0answers
69 views

CS connections to Life Science for ages 14-18? [duplicate]

What are activities that have been successfully used to integrate student learning across life science and computer science for ages 14-18? (Note related question for ages 11-14.) The question seeks ...
14
votes
10answers
2k views

Explaining access levels and visibility in OOP

While teaching OOP in a high school CS major (in java), it is important (and part of the curriculum in any case) to explain "what is the meaning of this public and <...
2
votes
3answers
116 views

Talking about new/active subfields of CS to inspire students

In a class for highschool students, should I talk about new, active, and exciting fields of CS to inspire them to perhaps further pursue CS or just get them more interested, or would it be better to ...
10
votes
5answers
490 views

Curriculum choice for AP Computer Science Principles

I will be student teaching an AP Computer Science Principles class next year and have run into an issue. All of the high schools around us are using the Code.org curriculum but from talking to ...
15
votes
8answers
4k views

Demonstrating the possible dangers of SQL injection

Students building websites in a high-school computer science major (using HTML, javascript, ...
3
votes
1answer
84 views

Multi-client to server connection demonstration

I am trying to think of a way to demonstrate how a multi-client server works, from the aspect of the broadcast messages sent from the server in response to a message from one of the clients. I ...
4
votes
9answers
356 views

Starting open source

How can I best get students started with an open source project that they would be interested in and welcomed to? I'd prefer that the project is focused on building a piece of software, perhaps a ...
2
votes
4answers
175 views

Transition from Java to Python

I am preparing to teach students python, in addition to java. Usually, I test a proof of concept (POC) of my teaching with a handful of students, so as to know if my lesson plans are good (I teach ...
4
votes
3answers
86 views

Do you use any teaching assistant tool in your CS1 lab classes?

In the scope of my PhD work, I am developing a teaching assistant tool. These tools are used in the context of lab classes to gather "snapshots" from the student's code using one plug-in in the IDE of ...
7
votes
11answers
2k views

How to stress the importance of testing code?

I've run into the issue in the past that students don't test their code, and get into a huge mess when they can't find out what's not working. How can I prove to them (before something like this ...
6
votes
3answers
868 views

Introducing image processing - Should I teach the math

During the summer I am teaching a programming workshop for students in a high school computer science major. The purpose of the workshop is to introduce them to image processing, and to have them ...
5
votes
5answers
293 views

Benefits of explaining low-level architecture in a programming class

When teaching an intermediate or advanced highschool programming class that also touches on general CS concepts (algorithms, etc), what are the benefits of explaining low-level computer architecture? ...
4
votes
3answers
152 views

Principles of SOLID in OOP

I am trying to prepare lessons about the five SOLID principles of Object Oriented Programming to high school students that have learned about polymorphism, abstract classes and interfaces. However, ...
5
votes
3answers
227 views

Explaining pointers to highschoolers

How would you explain pointers and their use to high school students with some prior knowledge in programming, mainly in Python, but very limited knowledge of C? Note that this isn't a duplicate of ...
54
votes
24answers
17k views

Should CS students be doing their tests on paper?

In some CS courses (especially undergraduate and high school courses) the tests and the final exam are written on paper without the use of a computer. But if the students are in a CS course, shouldn't ...
2
votes
2answers
140 views

Teaching with just a single Makey Makey and Sphero

Last summer I was excited to get my hands on a Makey Makey. I played around with it for a couple days, but it ended up just gathering dust for most of the year. The same goes for a Sphero SPRK. They ...
5
votes
6answers
222 views

Explaining how an Interface is a contract

When teaching Interfaces (in Java, for example), it is common to describe them as a contract. Which means that if a class implements an interface, it has to use the methods in the interface. As an ...
3
votes
2answers
89 views

Genetic Algorithm enrichment lesson

As a special lesson, I would like to show students the very basic idea of genetic\evolutionary algorithms. I let them play a bit in a genetic algorithm online game, to get the idea. Then I teach them ...