All Questions

Filter by
Sorted by
Tagged with
2
votes
2answers
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 ...
1
vote
3answers
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, ...
14
votes
11answers
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 ...
11
votes
1answer
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 ...
10
votes
5answers
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 ...
10
votes
4answers
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 ...
8
votes
5answers
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: ...
8
votes
3answers
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 ...
7
votes
2answers
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, ...
7
votes
3answers
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 ...
5
votes
2answers
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 ...
4
votes
6answers
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 ...
4
votes
4answers
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 ...
3
votes
4answers
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 ...
72
votes
18answers
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 ...
67
votes
21answers
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, ...
38
votes
11answers
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 ...
54
votes
15answers
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 ...
24
votes
17answers
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 ...
51
votes
13answers
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 ...
23
votes
9answers
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. ...
43
votes
16answers
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 ...
41
votes
20answers
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 ...
53
votes
11answers
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 ...
59
votes
24answers
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 ...
31
votes
10answers
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 ...
33
votes
19answers
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 ...
30
votes
11answers
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 ...
24
votes
11answers
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 ...
35
votes
15answers
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 ...
31
votes
9answers
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 ...
41
votes
13answers
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 ...
29
votes
18answers
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 ...
28
votes
14answers
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?
25
votes
8answers
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 ...
16
votes
8answers
4k views

Demonstrating the possible dangers of SQL injection

Students building websites in a high-school computer science major (using HTML, javascript, ...
13
votes
7answers
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 ...
27
votes
19answers
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 ...
26
votes
13answers
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, ...
22
votes
9answers
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 ...
13
votes
4answers
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 ...
32
votes
11answers
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 ...
15
votes
9answers
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 ...
13
votes
3answers
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 ...
40
votes
20answers
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 ...
20
votes
9answers
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 ...
17
votes
10answers
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, ...
14
votes
3answers
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 ...
12
votes
13answers
11k views

On studying Computer Science vs. Software Engineering to become a proficient coder

I’m mostly interested in the coding aspect of the CS and SE majors curricula. And I’m trying to decide between the two. Each major has its pros and cons, and they prepare you in very different ways ...
11
votes
4answers
748 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 ...

15 30 50 per page