# All Questions

678 questions
89 views

### Introducing self containing objects (Node)

In some programming languages, many data structures use Node<T> (The examples in the question are in Java, but I suppose they are similar in other languages): ...
282 views

### In-class server access limits

I want to set up a fully functional web server in the classroom. I will be using a separate computer provisioned with Apache, MySQL, Tomcat, PHP, Perl, etc. I want to have each student in the class ...
125 views

### Significant algorithm from CS for DrRacket that emphasize cons, car, and cdr

When my students move up to junior year, they make a series of transitions: from programming to theoretical computer science, and from imperative to functional programming. We use DrRacket, and one ...
157 views

### What are good sample programs for learning to use a debugger?

One skill I teach students in Java 1 is how to use a debugger, specifically: single-stepping through code using breakpoints viewing the values of variables going up and down the call stack I have ...
353 views

### Assessing programming skills of students under 18 years

While there's plenty of existing material and resources to help you decide on the next techie to hire, I could find very little for assessing the skill of children/teenagers at programming. This is ...
199 views

### Excel macro recorder exercises

On advanced Excel courses I teach attendees how to use the macro recorder. I also start VBA beginner trainings with the recorder and analysing the recorded code. I find the macro recorder a good entry ...
2k views

### What program follows “hello, world”?

You've just demoed your first bit of code in whatever language you're teaching. The requisite "hello, world" has been said. The program has been compiled (or interpreted) and run. Now what? There has ...
123 views

### Assignments for Introductory Level Processing

I am designing an introductory level programming class to be taught using Processing this summer. I have only four weeks and 90 minutes a day with students. Given my student demographic (middle ...
852 views

### What makes imperative programming easier or harder to learn?

In my experience, people who have programmed before, whether they're professional or not, almost always consider imperative programming to be obvious. They're usually skeptical that a concept such as ...
195 views

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 ...
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 ...
323 views

### Video Games during class

My school is BYOD (Bring Your Own Device). This has a lot of benefits in terms of technology, but it also gives us no control over what is on the laptops kids bring into class. During lab time, kids ...
89 views

### Supplementing Curriculum with Online Resources

One of the blessing and curses of teaching CS is the plethora of materials freely available online. MOOCs on edX and Coursera. Tutorials on Khan Academy and Codecademy. Certifications through ...
2k views

### Note-taking policy: laptops, or by hand?

My students are all highly inclined to take notes on their computers. There are some obvious advantages: The students absolutely prefer it. They can easily search through their notes later. Since ...
170 views

### How to illustrate scope problem when creating variables inside if statements in Java

One of the problems that my students will stumble upon every year is trying to create or initialize variables within an if/else ...
846 views

### Effectiveness of Parsons Problems

I first heard of Parsons Problems thanks to CS Teaching Tips. They define these problems as follows: "Parsons problems are problems where students build programs from ordering small chunks of ...
581 views

### Simple Pointer Examples in C

Thanks to feedback in this thread, I'm beginning to plan how to integrate a basic introduction to pointers into my unit on arrays. Here's a sample program I just wrote up: ...
130 views

### Are userscripts a good teaching tool?

What is a User Script? Useful tasks like improving layout, fixing bugs, automating common tasks and adding new functions can all be done by userscripts. More complicated userscripts can create ...
211 views

### Introducing A* Search Algorithm

I created a group lab where one student makes a random maze generator, one student makes a corresponding maze solver, and the last student calls the methods created by both students and creates an ...
163 views

### Workflow for Code Submission

Next year will be my first year teaching AP CS A. While I've spent a lot of time preparing by choosing textbooks, picking an IDE, and writing the syllabus, I'm not yet settled on my workflow for how ...
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 ...
276 views

### How to avoid getting emotionally attached to my students' projects?

I run a workshop with a few students. They often do large projects alone that they inevitably run into trouble with. That's completely normal, it's why they need some help in the workshop. As the ...
475 views

### How can I discourage poor design while using automatic grading of submissions?

Automatic grading is great for saving time on marking programming tasks, so there's more time to focus on actual teaching, but I've noticed a few flaws. Since work is essentially marked based on ...
143 views

### Self guided learning about audio processing

I have student who is attempting an independent study next year in audio processing. Her goals involve detecting the meter of a song. Thus could be done through machine learning, or through other ...
322 views

### Encourage students to be independent

As is often the case, there is usually more than one way to approach a problem or task. Currently, my students use what they were taught in the lessons (which is expected). When they stumble upon a ...
80 views

### Ruby backend framework choice: Ruby on Rails vs Sinatra

In Ruby, the vast majority of usage is in web backends, 99% of the time with a framework called Ruby on Rails. My problem with rails is that it is full of "magic," wherein you type a command, and ...
3k views

### Real life examples of 0-indexing

It can be perplexing for students to begin counting at 0 when they enter a CS class. I made it a point over and over to talk about "Day 0" and "Week 0" in the opening days and weeks just to build ...
389 views

### Is it more effective to teach low level languages before high level ones or vice versa?

When structuring a Computer Science curriculum, which prepares students most effectively for a career in technology today? Consider the following scenarios over a student's college career: Starting ...
440 views

### Lesson Idea: Arrays, Pointers, and Syntactic Sugar

One of the most challenging concepts to instill in new CS students is 0-indexing (indeed, the pedagogy of this fact probably merits its own discussion). Another difficult topic -- although a slightly ...
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, ...
456 views

### Programming curriculum for elderly students

I have created a basic computer education project for an audience of elderly students (over 50 years old). The course is very basic, with lessons from "How to turn on/off your home computer" to "...
518 views

### Teaching students to hunt for and debug their own errors

I'm sure we've all had this kind of conversation: Student: Mr. Choirbean, my code is crashing. Teacher: Okay, what error is it giving you when you crash? Student: Error message? Was there one of ...
245 views

### How do you structure broad, open-ended, freely chosen projects so that students use class time wisely?

If we are to believe Daniel Pink, autonomy is one of the fundamental aspects of motivation, so integrating student choice is extremely valuable if I want my students to remain highly engaged. I ...
182 views

### Do I need Prolog to teach logic concepts?

I think that the use of some logic programing language like Prolog, for example, could be a good way to explain the symbolic/mathematical logic concepts but also apply this concepts in a real ...
272 views

### What are the merits of including the history of computers in the entry level curriculum?

Should some portion of introductory CS curriculum include something about the history of computers, especially with respect to Moore's law and what that might imply about the growth of computing power?...
58 views

### Presenting Mapping Reducibility (for P vs NP)

So, I am preparing to teach about P and NP for the first time. I know that I need to teach about Mapping Reducibility (aka One-to-One Reducibility). Can anyone recommend a set of algorithms that are ...
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 ...
1k views

### Programming languages specifically designed for beginners

Is there a good beginner's programming language, specifically designed for learners, maybe even kids? Something beginners can sink their teeth into and get results quickly. Results that are more than ...
105 views

### What kind of game (in Scratch) would require use of a list? [closed]

I teach an introductory Scratch class to a group of elementary-school students. Most of the focus is on having fun creating simple games, but i still try to introduce a little higher-level programming ...
404 views

### Command-line Java in AP CS A

Context: Over the past school year I spent a significant portion of my time preparing to teach AP CS A next year. From choosing textbooks to writing the College Board syllabus, I essentially started ...
1k views

### What is a good analogy for the Object Oriented paradigm?

What is the most effective analogy that you have used or have thought of to teach the object oriented paradigm? Hopefully the analogy can translate well to inheritance as well, and includes the ...
119 views

### Designing rubrics for AP Computer Science-style free response questions

When I create questions in the style of the College Board's AP Computer Science Free Response Questions, I always attempt to create authentic rubrics that reflect how such questions would be graded. ...
757 views

### The use of the Octal system

I was teaching the Octal number system and a student raised the question "Why should we use the octal number system, if we have binary and hexadecimal?" I was very confused, trying to explain the ...
1k views

### How to explain to people the importance of algorithms in computer programming?

Many computer science problems can be solved by more than one algorithm. Usually those algorithms have different problem-solving approaches and therefore different strengths and weaknesses. My ...
2k views

### How to teach why indentation is important

I'm trying to teach why indentation is important, but the student doesn't indent. I asked why he doesn't indent, then he answered "That's because it’s a hassle." It's OK to say "you should indent", ...
385 views

### How to get girls more interested in computer science?

It’s no secret that despite the phenomenal rise in computing over the last 50 years, women are still not engaging with computer science at the same rate as men. Girls are less likely to enroll in ...
88 views

### How to “teach” CSS for students? [closed]

I have been an expert & mentor in HTML, CSS, JavaScript. When it comes to teaching new students on how to program using JavaScript, it is straight forward. Students can learn that if you do ...
162 views

### Database theory (normalization) for beginners (adult education, MS Access)

When teaching database basics to non IT beginners, what is the minimum requirement in theory and technical terms? So what is absolutely necessary to talk about DBs? What helps students grasp the basic ...