# All Questions

803 questions
Filter by
Sorted by
Tagged with
154 views

### Teaching identifier naming conventions

Currently the only thing I'm teaching for the naming of identifiers is "be consistent". Then I go ahead and use the Hungarian notation consistently, and show them a few other conventions. Is there a ...
1k views

### How to teach students not to use jump statements

We all know goto is the spawn of satan. To learners though, it seems easy and quick. In simple, short program codes having a goto or two won't turn the code into unreadable spaghetti code. So students ...
249 views

### Homework Policy for Advanced/Honors Students

Perusing Twitter just now, I saw this tweet from the @CSTeachingTips account, and it got me thinking about the general topic of homework as it applies to our discipline: Downsize homework because, ...
200 views

### Deep Learning Teaching Resources

What would you recommend as the best resources for learning and teaching about Deep Learning? These could include tools (e.g. TensorFlow), tutorials, books (e.g. Deep Learning), MOOCs (e.g. Udacity's)...
237 views

Since this is a very hot topic, I would love to offer an elective in Blockchain technology next year (and possibly in cryptocurrencies as well). I know that my students are already very enthusiastic ...
109 views

### Why is the critical-section problem always presented with code in infinite loops?

I've noticed that "all" OS textbooks present the Critical-Section Problem with examples of code that are in infinite loops. E.g., ...
108 views

### Genetic Algorithm enrichment lesson

As a special lesson, I would like to show students the very basic idea of genetic\evolutionary algorithms. I let them play a bit in a genetic algorithm online game, to get the idea. Then I teach them ...
267 views

### What are good/bad topics for a non-major CS0 course?

I'm teaching CS0 again this fall. This is an introductory course, entirely separate from CS1. It is for non-majors. It doesn't lead to additional coursework or prepare students for CS1 (it's not a ...
213 views

### How can I incorporate agile development into CS1/CS2 courses?

I would like my students to get the most out of the course by experiencing an agile development structure in their projects. Currently I give 5 assignments, each building on the previous one and ...
189 views

### Suggestions for encouraging good Coding Practices?

From an instructor perspective (Middle School or High School), Is there a method, or a set of guidelines, for grading early coders' projects that could enhance good coding practices as the students ...
3k views

### How to respond when students ask “is recursion good practice”?

Context: CS1-style, intro programming class, using an interpreted language (Python). I will get a hand raised asking "Why are we learning recursion? Is it good programming practice?" My response is ...
154 views

### Colors in Blocks-based Languages

I am designing a blocks-based language to use in my classrooms and summer camps. Since I am using the Blockly framework, I am able to choose my own colors for the blocks and am looking for information ...
134 views

### What are good projects for metaprogramming?

When I teach metaprogramming like dynamically defining methods and method delegation, students usually understand what it is fairly quickly because it's simply a dynamic way of doing something they've ...
217 views

### Demographics in Programming Teams in Early CS Courses

I frequently teach CS1 and CS1-and-a-half in a very diverse, working-class, commuter public sector college. I have my students to work in small groups (2 or 3) on their larger homework programming ...
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 ...
166 views

### What should be the difference between a university course and developer training? [closed]

I teach university students and would like to start teaching prospective developers. As such, I have been thinking about the core differences between these two audiences. I find that students are ...
175 views

### Instructional Methods for In-class Code Demos

When demoing code in class, I have tried at least three different methods of instruction: Write code live and have students type along Write code live and have students follow my logic while only I ...
243 views

### Scope and Sequence for Raspberry Pi Course

I am in the process of developing a new course focused entirely on Raspberry Pi. The goal is to make it a summer-school elective equivalent to one semester (i.e. one class meeting over the summer == ...
262 views

### Good beginning assembly language for teaching about stack function calls

We are considering integrating our processors design and architecture course with our assembly programming course by using the same processor for both. The processor class (which does its work in ...
773 views

### Teaching loop invariant choice

This is in line with a prior question I asked about teaching induction, but this is specific to the loop invariant step. I have not had great success helping my students see how to choose a loop ...
618 views

### How can I show the value of best practices?

As someone who likes to advocate for best practices like correct use of VCS, indentation, sufficient commenting, and testing, I try and integrate them when I teach. But for all of these things, my ...
81 views

### Teaching coding paradigms and concepts with specific context

Teaching programming is a great part of mentoring FRC (FIRST Robotics Competition) teams. For teaching how to program a robot (Specifically, a RoboRIO), I first (unintended pun: FIRST) need to teach ...
223 views

### Most beneficial CodingBat problems for AP CS A FRQs

I love the CodingBat platform and plan to integrate it throughout my course next year. Yet, since it will be my first year with AP CS A and I have not yet had a chance to study past years' FRQs, I'm ...
640 views

### How to provide individual grades for group project work?

I teach undergraduate programming project courses and have traditionally given the same project grade (about 45% of the semester grade) to everyone on each team, unless a team member's participation ...
2k views

### Basic OOP practice exercises for inheritance and polymorphism

After teaching inheritance and implementation (implements vs extends in Java) and overriding methods and basic OOP (classes and ...
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): ...
290 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 ...
133 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 ...
195 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 ...
357 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 ...
277 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 ...
152 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 ...
953 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 ...
222 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 ...
872 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 ...
330 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 ...
118 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 ...
3k 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 ...
201 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 ...
1k 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 ...
745 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: ...
138 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 ...
231 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 ...
184 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 ...
612 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 ...
297 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 ...
542 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 ...