All Questions

5
votes
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 ...
6
votes
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) ...
7
votes
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 ...
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
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 ...
5
votes
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 ...
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
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 ...
4
votes
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 ...
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
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 ...
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
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 ...
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 ...
13
votes
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 ...
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'...
6
votes
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 ...
6
votes
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 ...
2
votes
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 ...
65
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, ...
6
votes
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 ...
5
votes
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 ...
6
votes
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 ...
5
votes
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 ...
6
votes
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 ...
5
votes
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 ...
5
votes
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 ...
4
votes
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 ...
2
votes
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://...
4
votes
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 ...
4
votes
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 ...
5
votes
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 ...
2
votes
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 ...
13
votes
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 ...
9
votes
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 ...
6
votes
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 ...
5
votes
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 ...
8
votes
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, ...
7
votes
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 ...
7
votes
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 ...
5
votes
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 ...
28
votes
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 ...
4
votes
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 ...
9
votes
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 ...
9
votes
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