Stack Exchange Network

Stack Exchange network consists of 175 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

Questions tagged [high-school]

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.

69
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. ...
55
votes
24answers
18k 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 ...
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 ...
21
votes
12answers
4k views

Problematic student at a very high level

I teach a high school student who has already developed an understanding of the language used in my curriculum and causes difficulties. The lectures and programming projects in the curriculum bore ...
20
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 ...
19
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 ...
17
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 ...
17
votes
12answers
2k views

Dealing with students who complete labs very quickly

One of my goals is to minimize homework. My high school students are high performing, grade conscious, and constantly stressed out as it is. Many of them fall into the "Ivy League or bust" camp, ...
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, ...
15
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 <...
15
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 ...
15
votes
9answers
817 views

Computers are down; what's in your bag of tricks for teaching CS when they can't get on a computer?

I'm guessing everyone here, high school teachers at least, have spent at least one period in the past year working with a class when you either don't have working computers or a working internet ...
15
votes
7answers
396 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 ...
13
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 ...
10
votes
5answers
897 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 ...
10
votes
4answers
441 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 --...
9
votes
7answers
433 views

Analogy for static objects (or members)

I'm trying to think of an analogy to explain how static members, references and objects work. What I have in mind is saying that static is like the number of computers in the world. That parameter ...
9
votes
5answers
582 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 ...
9
votes
3answers
183 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 ...
8
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 ...
8
votes
7answers
348 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 ...
7
votes
7answers
623 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 ...
7
votes
3answers
890 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 ...
7
votes
5answers
654 views

How can I maintain interest in front end?

When I teach front end web development, it always happens that I start the year with a bunch of students who are ready to redesign Facebook on day 1. With expectations like that, it's always a letdown ...
7
votes
3answers
162 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 ...
7
votes
3answers
188 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 ...
7
votes
3answers
201 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 ...
7
votes
3answers
181 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\...
7
votes
2answers
178 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 ...
7
votes
2answers
195 views

Final exam advice

I probably should have asked this last week since we just finished up finals today. But, there's always next year :) How do you create a final exam that is a valid assessment of an entire year or ...
6
votes
3answers
243 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 ...
6
votes
5answers
314 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? ...
6
votes
3answers
354 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 $...
6
votes
3answers
106 views

How to encourage participation in the national olympiad in informatics?

Currently, relatively few participate in the national olympiad in informatics (high school) of my country. This is partially because the first round takes a bit of time (up to 40 hours if one wants to ...
6
votes
2answers
56 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 ...
6
votes
2answers
169 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, ...
6
votes
1answer
122 views

How can I set up and deliver a Computer Hardware Course for the first time?

I'm in need of major help at my current job. I'm a HS teacher and I teach a private school - I just started in August, two days before school started and five days before the previous teacher left for ...
5
votes
9answers
375 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 ...
5
votes
5answers
314 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,...
5
votes
4answers
277 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 ...
5
votes
3answers
99 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 ...
5
votes
2answers
415 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 ...
5
votes
2answers
166 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 ...
4
votes
4answers
191 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 ...
4
votes
4answers
607 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 ...
4
votes
6answers
162 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
1answer
101 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'...
4
votes
2answers
140 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. ...
4
votes
1answer
199 views

What can be the causes of the difference in student performance?

The box-plot represents the number of programming tasks performed correctly in 30 minutes.These tasks are designed to learn basic CS concepts: sequences, loops, conditional ... Each box represents an ...
4
votes
2answers
144 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 ...