All Questions

5
votes
4answers
594 views

Usefullness of Study Guide

The notion of "Study Guide" was unknown to me before moving to the US (I don't think I was ever given one during my studies in France). I believe that the goal of a study guide is three-fold: To ...
5
votes
5answers
189 views

A meaningful exercise that requires using a destructor

I am teaching destructors in C++ and would like to give the students an interesting homework exercise that requires them to build a class with destructor. In previous years, the homework were ...
5
votes
5answers
375 views

Which non-programming skills help make a good programmer?

What skills should we strive to foster in our students that will make them good software developers in the future? They are in our classes to learn coding skills, but what else do they need? ...
5
votes
4answers
90 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 ...
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 ...
1
vote
2answers
170 views

The Starting Gun vs Freedom of Choice [closed]

According to research, if people are to develop abstract reasoning capabilities (Formal Operations and Post-Formal) they need the proper exposure at age 7 to 12 - generally speaking. Adults that were ...
9
votes
7answers
449 views

My teacher said that java is pass-by-reference when the type is not a primitive

I am an undergrad student. I am an experienced programmer. For reasons out of the scope of this question, I ended up in a class where basic things about C++ and Java are being taught (but I already ...
6
votes
3answers
148 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 ...
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. ...
117
votes
13answers
43k views

Should I teach that 1 KB = 1024 bytes or 1000 bytes?

Which conversion should I teach to my undergrad students? That 1KB is 1024 bytes (binary) as everyone learned back in the nineties or the recent industry-led "friendly" conversion that says that 1KB ...
2
votes
2answers
109 views

How to help students comprehend the HTML document flow?

I'm teaching a student how to create website front ends. This student comes from a SNAP/Scratch/AppLab type environment where they learned basic programming concepts, but to position visual elements ...
4
votes
3answers
174 views

Blockchain cipher suitable for preschoolers

Is there a cryptographic hash function that well suited for preschool-aged children to work out on pencil and paper, to learn concepts of block chains? It must have the following requirements: Able ...
6
votes
4answers
214 views

What are the tradeoffs of allowing students to submit test corrections?

Do you allow students to submit "test corrections"? Meaning, do you allow them to take the questions they missed on a test, denote the correct answer in some way, and give them partial or full credit ...
14
votes
12answers
514 views

Textbooks: Yes, no, roll your own?

I haven't used textbooks in my classes for a number of years. I find that generally it is hard to get students to read them unless you assign homework questions. And I'm not a fan of that method. What ...
8
votes
4answers
139 views

How to phrase questions about spotting design issues in programs

I like to give my students questions asking them to find and correct design issues in code. As an example, I gave them the following question: ...
45
votes
9answers
14k views

How do you teach something when you don't know it yourself?

Teachers are sometimes called upon to teach something with which they have no experience. Don't laugh. Doctoral level education is often exactly like this. The student's advisor may have no background ...
6
votes
3answers
459 views

NodeJS and Javascript libraries are overwhelming students

I started teaching NodeJS to some of the students in the computer science major at my school (these students know the basics of Java and OOP). The idea is for them to make a small web project (such ...
6
votes
2answers
53 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 ...
2
votes
3answers
584 views

The Fifth Element or What Elements Are Correlated With CS Success and Does It Matter? [closed]

After a long search a colleague says that the only 'predictor' of computing ability seems to be Autism, and that only with a low correlation (60%, whatever that means). But in our experience of ...
4
votes
4answers
178 views

How to avoid misconceptions about while loop when using null loop

Is it problematic to teach students to use an empty while loop to create an until loop? If so, what learning progressions avoid ...
2
votes
3answers
144 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 ...
7
votes
7answers
434 views

Explaining to students why to use double instead of float (unless there's a very good reason)

I keep seeing students use float in lab lessons: For example, a simple physics calculation of kinematics. Many, many students use ...
4
votes
2answers
174 views

How widespread is the use of the PEP/8 assembly simulator in education?

For teaching assembly language and computer architecture, are any other platforms besides PEP/8 used, and if so, what are they called and how widespread are they? Or more generally, how is assembly ...
4
votes
2answers
53 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 ...
7
votes
4answers
1k views

What Notation for Teaching Boolean Logic?

I'm a retired college teacher now teaching things like Boolean logic to students in several middle schools (ages: 11-14). I taught that module for the first time last week and discovered to my ...
4
votes
5answers
196 views

How do teachers motivate students to persevere and learn?

One primary issue I have as an Instructor is increasing student motivation. For me, there are only two motivations in life: Because I enjoy it Because I need to earn a living Reason #2 is ...
6
votes
1answer
218 views

Is there evidence of differences in the outcomes of objects-early vs objects-late?

Here is the essential parts of a (HS) Junior level question from one of our (Canadian) national computing challenges. (http://www.cemc.uwaterloo.ca/contests/computing/2017/stage%201/juniorEF.pdf) ...
7
votes
4answers
226 views

Answering “How is this useful to me?”

When I am teaching, sometimes, I am asked “How is this useful to me? I don't use a computer. I won't use a computer in my job.” How can I, quickly, answer this question? I only have a few pupils ...
5
votes
3answers
142 views

Encourage students to learn and use advanced design

I mentor an FRC (FIRST Robotics Competition) team, and they program in java. The team members who work programming the robot are using an extension1 library which they themselves write. The library ...
4
votes
4answers
189 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 ...
5
votes
4answers
119 views

How to START an Objects-First Course

In light of this question (and many others on this site), I have been noodling around with the idea of reversing my AP Computer Science A course and taking an Objects-Early approach. I'm having a bit ...
13
votes
4answers
3k views

When does excessive collaboration become plagiarism?

I was reading the abstract for this research paper: Yan, L., McKeown, N., Piech, C.: Using programming assignment work patterns to understand excessive collaboration in large CS classes, in SIGCSE ...
10
votes
7answers
2k views

Order to teach looping constructs in a non ideal language

In an ideal teaching language If the language directly supports them then the order to teach looping constructs seems simple. Infinite loop: forever. Simple ...
7
votes
3answers
159 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 ...
4
votes
2answers
87 views

What are good resources for self learning Finite Mathematics for a CS Student?

A student studying Computer Science requires some knowledge of finite mathematics, including logic, probability, counting, etc. In the use-case at hand, a HS or University course in finite math is not ...
2
votes
3answers
155 views

Finding tutoring in Maths / CS

I am technically enrolled on a university course but lack basic maths ability and have fallen behind in trying to catch up. Therefore I need to explore self-learning to improve my position while ...
4
votes
7answers
262 views

Pedagogical reasoning behind a minor difference in two loops

I keep seeing examples like the first program bellow, in teaching materials. Is there a pedagogical reason to teach this first program, compared to the second? ...
4
votes
3answers
215 views

How to teach image processing and computer graphics to a blind student?

I'm not (yet) in this situation, so this is a hypothetical question. What would be viable approaches to teaching image processing (IP) and computer graphics (CG) to a blind college student? IP could ...
4
votes
2answers
111 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 ...
16
votes
8answers
566 views

Is it worthwhile to teach assembly nowadays?

In the 80s, it was common for CS students (and anyone wanting to do "real" programming) to learn assembly. After all, if you needed speed, hardware access (including direct output to monitor) or ...
84
votes
26answers
24k views

How to explain the concept of a variable to a 9-year old?

My 9 year old daughter is heavily interested in science, robots, computers, … She asked me if I could teach her how to program a computer. So, we started with Scratch, a programming language ...
3
votes
1answer
91 views

Using questions from a code-competition website in homework and exams

There are various websites like codewars that present programming challenges in various languages and difficulty levels. I looked at some of their challenges and they seem to be more creative than me ...
4
votes
4answers
220 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 ...
7
votes
3answers
200 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 ...
13
votes
7answers
620 views

Programming language for teenagers

I have been asked to give an introductory programming course for kids between 14-15 years old. Scratch seems like a good option for young children, maybe up to 12 years old. Python, is also a good ...
4
votes
1answer
99 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'...
6
votes
4answers
465 views

Motivation for learning C++ when you know Java

I am going to teach a C++ course to students who already know Java. From answers to my previous question, I learned that C++ is substantially harder to master than Java, particularly because of the ...
6
votes
4answers
166 views

Teaching zip and range in Python 3

I do mathematical biology curriculum development and design and sometimes teach the associated computer labs. The students are very much beginners. Recently, I have had to start working with a Python ...
2
votes
3answers
175 views

Big-endian, Little-endian

I have explained big and little endian from time to time in my teaching career, but it is quite dry, and asking my students which direction each one goes three months later has revealed to me that my ...
64
votes
21answers
13k 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, ...

15 30 50 per page