# All Questions

678 questions
5answers
228 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 ...
1answer
222 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) ...
4answers
228 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 ...
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 ...
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 ...
4answers
125 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 ...
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 ...
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 ...
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 ...
2answers
94 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 ...
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 ...
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? ...
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 ...
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 ...
8answers
573 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 ...
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 ...
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 ...
4answers
221 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 ...
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 ...
7answers
638 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 ...
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'...
4answers
489 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 ...
4answers
175 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 ...
3answers
181 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 ...
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, ...
4answers
470 views

### Using Oracle's Java Documentation as a Teaching Tool

I'm in the process of preparing for the second semester of AP CS A (Java). I want to review objects and classes with my students to prepare for our extended focus this semester on inheritance and ...
2answers
202 views

### Is it possible to study too many things in parallel?

Unfortunately I did not study well at school, I was not interested in many things, and I did not understand that things. But I have matured, interests have become more. I am now 20 years old. Now I ...
3answers
228 views

### What student exercises force them to modify and extend their own thinking process and methods?

Beginners in CS will generally benefit from changing and expanding their thinking skills. Some of our thought processes may not be intuitive to a beginner and exercises can help them expand their ...
2answers
186 views

### How far do you take modular expressions?

I'm sure that basically every introductory course involves teaching about the ubiquitous mod operation. In my experience, and I'm sure I'm not alone in this, I've found that teaching my students that ...
1answer
242 views

### What are good class exercises on design patterns?

When I teach a programming course, I like to spend 10-20 minutes in each lesson on some programming exercises that the students do in class. This lets me see whether the students understand the ...
3answers
278 views

### Teaching C++ to students that know Java

I am now teaching an OOP course to 2nd year undergrads. This is actually a course in advanced programming in Java. In the next semester, I am going to teach the same students, a C++ course. From what ...
7answers
392 views

### Allowing students to work cooperatively on a computer, and retain access to their work

I like pupils to work in pairs, as they learn quicker this way, and need teacher help less often. However, there are problems, when working together on a computer: Free loaders. For this, I give ...
3answers
502 views

### Advantages and Disadvantages of Teaching Block-coding Languages Such As MIT's App Inventor?

I'm thinking about teaching App Inventor to students who have just begun their adventures in the programming field. MIT's App Inventor is based on block-coding, where the user designs the UI and then ...
4answers
362 views

### Is it possible to teach selection (if) before variables

I was looking at the CAS progression pathways, and noticed that in column 2 (Programming and development), it has selection (if) before variables. https://...
2answers
74 views

### Reducing bias, from lesson that improves, as taught to a number of classes

I have been giving my class help-sheets, recently. This have lead them to me more independent. They are also filling in a S.N.O.T form, this is a form where they tick off tasks, to show if they did it ...
4answers
152 views

### Where, sequentially, do Interfaces sit in an introduction to Objects?

I've been teaching Objects for years now as part of AP Computer Science A (which means that I am teaching OOP in Java), and I have experimented with putting Interfaces in at different locations. In ...
2answers
80 views

### What is a (simple definition of) a development environment?

I am trying to create lessons and curriculum designed for school-aged students, teaching about IDEs and development environments. What is a succinct, not too complex definition of a development ...
3answers
160 views

### A better database management system, for teaching databases

I have been teaching databases, over the last few weeks, to key-stage 3 pupils (year 7 and 8). The school I am at uses Microsoft's Access. This seems adequate in many ways. However it has many ...
11answers
3k views

### What should be included in a best practices C course?

At our University, we have in the first semester a very difficult C Introductory Course, that consists of presenting a shortened version of the language specification: What are for/while loops, if ...
1answer
105 views

### The order of questions on examinations

I am almost painfully aware of the importance of examinations as a way to create emotionally important memory-recall events, and therefore their vital importance in learning itself. Within the ...
1answer
228 views

### Enjoyable and\or fun way to explain cmake

As a pilot project (which was delayed by an incredible amount, seeing as it's starting 8 weeks after it was meant to), my school grouped together a few kids (high school, they know basic OOP and work ...
4answers
108 views

### Quick and easy intro to computer science for kids for an Engineering Field Day

We have a large engineering day that hundreds of kids (ages 6-12) and their parents will attend. The setup is as follows: local engineering groups/societies will have stations and they will have ...
6answers
422 views

### Single-dimensional array and simple looping activities of significance

I give a lab on single-dimensional loops and arrays. By "single dimensional loops", I mean that there is no nesting of loops. (I will later give a second lab on multi-dimensional loops and arrays, ...
2answers
189 views

### Paired programming with an odd number of students

I have only lately started allowing (and encouraging!) paired programming, and it is going very well. The kids enjoy it, and they appear to be learning the material with less pain. Not everyone has ...
3answers
136 views

### What's the best way to assess programming?

Over in England the current model of assessing GCSE level programming (exams for 16 year olds) is being debated. A system where students had to program and write up solutions to a given scenario has ...
5answers
185 views

### Resource recommendations for teaching OOP via a practice-oriented example

I intend to teach some OOP methodology but everywhere I look, there are only syntethic examples and elaborations of various concepts of the OOP world (for example: what is inheritance, how to use ...
11answers
8k views

### How to stop being The Oracle

When I did customer service for an application I was developing, I found that most of the time, if I did NOT answer the phone, the user would figure out their problem and learn more than if I did ...
1answer
139 views

### A lab activity for the Y-Combinator

We are about to study the y-combinator as a culmination of lambda calculus, and I would like a shortish lab activity that is related to this idea. We are currently working in Scheme, though I don't ...
2answers
323 views

### “Franklin” Method for learning good programming?

I was reading Ben Franklin's biography(the one by Walter Issacson), and it describes his method for learning to write: he would take excellent essays, jot down the basic ideas, then try to reconstruct ...
3answers
370 views

### Agile / SCRUM Course Structure: Downsides? Resources?

I am planning to teach an undergraduate-level course on mobile application development. I have been thinking about the best way to structure such a course, and am starting to believe that an agile ...

15 30 50 per page