All Questions

Filter by
Sorted by
Tagged with
7
votes
4answers
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 ...
12
votes
9answers
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 ...
6
votes
3answers
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, ...
7
votes
5answers
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)...
3
votes
1answer
237 views

Learning about the Blockchain

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 ...
8
votes
2answers
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., ...
3
votes
2answers
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 ...
5
votes
3answers
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 ...
8
votes
5answers
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 ...
5
votes
3answers
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 ...
26
votes
13answers
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 ...
8
votes
3answers
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 ...
5
votes
3answers
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 ...
7
votes
3answers
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 ...
21
votes
12answers
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 ...
5
votes
3answers
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 ...
7
votes
5answers
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 ...
6
votes
1answer
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 == ...
7
votes
2answers
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 ...
9
votes
7answers
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 ...
14
votes
11answers
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 ...
4
votes
2answers
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 ...
4
votes
2answers
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 ...
12
votes
6answers
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 ...
4
votes
4answers
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 ...
4
votes
3answers
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): ...
7
votes
2answers
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 ...
5
votes
1answer
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 ...
7
votes
4answers
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 ...
3
votes
2answers
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 ...
5
votes
3answers
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 ...
24
votes
15answers
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 ...
5
votes
3answers
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 ...
15
votes
4answers
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 ...
7
votes
2answers
222 views

Final exam advice

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 ...
15
votes
9answers
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 ...
9
votes
2answers
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 ...
6
votes
3answers
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 ...
19
votes
16answers
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 ...
11
votes
7answers
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 ...
11
votes
5answers
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 ...
8
votes
5answers
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: ...
4
votes
1answer
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 ...
5
votes
2answers
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 ...
8
votes
3answers
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 ...
9
votes
7answers
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 ...
7
votes
3answers
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 ...
12
votes
7answers
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 ...
6
votes
2answers
158 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 ...
10
votes
6answers
330 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 ...

15 30 50 per page