# All Questions

206 questions
Filter by
Sorted by
Tagged with
333 views

### A quick ruby crash course

I have some students in highschool who already understand programming concepts (generally), and are fairly familiar with Python's syntax and logic, and have a beginning awareness of OOP in Python. I'd ...
162 views

### Make it easier, and quicker to get to the start

When teaching I often have pupils struggle in the first few minutes. When they are setting the computer up, ready to start work. They often have to follow lengthy instructions, that I print on paper, ...
655 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 ...
1k views

### What belongs in a low-math undergraduate AI elective besides ML?

The primarily undergraduate institution at which I teach does not have an Artificial Intelligence course. We do have classes on Data Analysis and Machine Learning: DATA 150: Introduction to Data ...
987 views

### What advantages/disadvantages have you seen with Pair Programming in the classroom

Many of us use or have used Pair Programming in the classroom. See https://www.agilealliance.org/glossary/pairing for a discussion if you like. @BennettBrown has pointed to research showing its ...
418 views

### Is it possible to ensure division of labor on a group assignment?

Let's say I've assigned my Intro to CS class their first group programming assignment. A common problem is that the most invested student in the group will end up doing the majority of the work. At ...
883 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: ...
510 views

### How is your teaching affected by how you learned?

I constantly have to struggle with freeing myself from two hindrances to my teaching: 1) The way I learned about computers, starting almost 40 years ago, and, 2) Amnesia of how I learned some concepts ...
235 views

### Techniques for encouraging pair programming

Suppose I've assigned a project and asked students to pair into two-person teams. I'd like each team to pair-program: work together in person to complete the assignment. Some students will do this, ...
730 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 ...
351 views

### Introducing the MVC pattern along with JavaFX

This year I am planning to shift from teaching Swing for graphics, to teaching JavaFX. As JavaFX ideally uses the MVC design pattern, I thought it would help students understand how to use JavaFX if ...
262 views

### Explain to someone that programming isn't just all "if"s and "else"s

I have a friend who, in his mind, has the wrong image about programming. Whenever I mention that programming is fun and that one can enjoy it very much especially if they like solving problems (both ...
378 views

### How can I improve my understanding in Computer Science?

I am new to Computer Sciences, working as machine learning engineer. I only know the basics of programming. How can I improve my technical comprehension so that I will be able solve different ...
217 views

### How to integrate CS when learning about DNA/RNA/protein

I'm looking for activities that can integrate computer science into lessons about DNA, RNA, and proteins in a middle school (ages 12 to 14) science class. Our school is using the NGSS and CSTA ...
19k views

### Advances in CS appropriate for CS1 and CS2 made by female computer scientists

Over the course of the CS major at my school, especially in years two and three (roughly equivalent to years 1 and 2 at a university), as I introduce my students to significant advances in Computer ...
18k 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, ...
13k views

### Learning fundamental differences between functional programming and Object Oriented Programming

I've been trying to learn the differences between Functional Programming and OOP, but I can't seem to find a comparison of the two. A Google search did not yield any chart or table showing such a ...
16k views

### Why did the percentage of CS bachelor's degrees going to women peak in 1984?

As shown by the following graph, the percentage of bachelor's degrees going to women in the US has increased over time in almost every major, with the dramatic exception of CS, which peaked in 1984 at ...
11k views

### What does a person with an undergraduate degree in CS still need to learn to be employable as a developer? [closed]

Some recent CS graduates feel unprepared to enter the job market. Some may actually be unprepared. What is missing from a typical undergraduate program, or not sufficiently emphasized, that a person ...
10k views

### Interesting Programming Exercises to Teach Inheritance?

I originally asked this over on Stack Overflow, but they suggested I look here instead: I'm currently teaching my students about the concept of inheritance (we're using Python 3) but am unable to ...
6k views

### How can I convince my fellow CS teachers that reaching every student is a worthwhile goal?

I tried hard, in the latter part of my career, reach every student in every class period that I taught. That this may be an unreachable goal is of little interest to me. I think that I must do this. ...
14k views

### What is good age to start learning programming?

I am thinking of offering classes for people, maybe take 5 to 10 at the time. There would be 4 hours every Saturday, twice a month, for three months. So in total 6 such sessions. The language thought ...
9k views

### How to teach the value of the command line in high school?

Part of what I love about the particular adaptation I use for AP CS Principles — CS50 AP — is that my curriculum teaches students basic Linux shell commands in the Cloud9 IDE. Students learn things ...
30k views

### How bad is a Computer Science course that doesn't teach Design Patterns?

I'm at final year of my graduation in Computer Science in Brazil. The university that I study is one of the best in the country and my passion is for Software Engineering. It disappoints me, in ...
21k views

### Should CS students be doing their tests on paper?

In some CS courses (especially undergraduate and high school courses) the tests and the final exam are written on paper without the use of a computer. But if the students are in a CS course, shouldn't ...
16k views

### How can I automate the grading of programming assignments?

As a TA, the usual workflow for grading programming assignments for an introductory course would be: Some instructors used email as a submission mechanism (yes, really.) So, search for submissions in ...
4k views

### Teaching binary to 6-8 year olds

I'm teaching some introduction lessons to a classroom of 6-8 year olds about basic 21st century skills. A fundamental part of this is how computers represent numbers, words and images, which all ...
8k views

### How can we teach good naming practice for students learning Java?

In writing software we name things. In Java we name classes, interfaces, methods, variables, etc. How can we teach both the importance and the skill of choosing good names? What teaching practices ...
6k views

### What could be the possible advantages of teaching Scheme as first programming language?

When I started my Computer Science studies, Scheme was the first thing we learned in our first programming course. Almost 8 years later, I ask a friend of mine, and it seems that they are still ...
14k views

### How to help students avoid being distracted by bells and whistles

I teach Windows Forms programming, and now ASP.Net (essentially the same thing, except you view it in a browser) and I am dismayed that students seem to spend an enormous amount of time straining at ...
7k views

### How to prepare students for bias in industry

I teach at Mills, a women's college near Silicon Valley with a high number of students of color. We do a great job of preparing students technically -- they do very well on the job market and then in ...
11k views

### Why don't more universities teach revision control?

In the answers to this question, it's suggested that one of the most common things that CS graduates still need to learn to be employable developers is revision control, and by inference that many CS ...
14k views

### How to explain what code is to my parents?

I am an engineering student in computer science and recently my parents asked me to explain a bit what I do, which is their way of asking "What is coding?". They have no idea of what coding is, what ...
7k views

### How do you encourage students to take criticism of their code constructively?

How do you encourage students to benefit from code reviews you give them, rather than being discouraged or responding defensively?
4k views

### What autograding software do folks use for Java code?

Grading currently either takes me a huge amount of time, or gets done in an extremely cursory way. It occurs to me that, if my students were able to submit code into some sort of autotester, they ...
4k views

### Demonstrating the possible dangers of SQL injection

Students building websites in a high-school computer science major (using HTML, javascript, ...
4k views

### How do you make your CS lectures more interesting?

My biggest challenge each semester is keeping students engaged in class. It's obvious that most of them would rather be somewhere else. I don't know if it's the students, my lecture, or both. I wish I ...
18k views

### What are some good examples of using a stack data structure?

I'm looking for examples to give my students when lecturing about stacks, for use-cases of the stack in programming and life. So far I've been thinking of a pole of rings (when you can insert or ...
6k views

### How do I teach "math equality" vs. "CS assignment" vs. "CS equality logic operator"?

Consider the following three uses of equality: In mathematics, the statement $x = x^2$ In Python, the statement x = x**2 In Python, the expression, ...
5k views

### The Tao of TeaChing (Making Mistakes in Front of the Class)

How do you handle it when you make a mistake while teaching? I used to get confused, stammer, blush, etc. But now I just pause and notice that something is incorrect, then correct it if I can figure ...
3k views

### How to deal with students that don't like CS?

This question is really aimed to teachers, especially in high school courses (but everyone is welcome to share some ideas). If you have a student that really does not like Computer Science, what ...
6k views

### How to handle students who excel at coding but aren't interested in theory

There are some students who are very good at coding. They can crack any logic problem at their level. But they aren't very good at CS theory. They can code better than their classmates, but they're ...
925 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 ...
466 views

### Do Python and Java lead students to construct different mental models of memory?

How are novices' mental models of variable storage affected by programming language choices? Most Intro to CS teachers (I think) do not delve with breadth and depth into details of how variable names ...
12k views

### Is it important to teach pointers in a first course using Java?

Many instructors teaching with Java started their education using earlier languages such as C or C++ in which pointers are essential. Pointers, however, are not a Java concept, though those same ...
4k views

### How can we motivate students to review each other's code?

Code review is crucial to student's academic and professional lives, yet some students see code review as a burden and a new way teachers have found to "ditch some work". By experience, code review ...
6k views

### How do I approach teaching Python to 12-year-olds as a first-time teacher?

I'm currently teaching Python, to three 12-year-olds. They have no experience at all, and my task is to introduce them to programming concepts, and to Python. I'm fairly experienced in programming, ...
5k views

### Introducing file systems to students who really don't understand

In this question, Michael0x2a points out something that I have observed, but never formally considered (emphasis my own): The IDE often introduces several new "metaphors" that need to be ...