Questions tagged [best-practice]
Use this tag for questions about best practices in the classroom. This is an educational term, and does not refer to best practices in coding style. (Instead, see the coding-conventions tag). Some questions with this tag ask for advice on comparing the advisability of two or more possible teaching practices, for example.
23
questions
25
votes
13answers
2k 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 ...
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 ...
120
votes
15answers
37k views
Is it better to lie to students or to be pedantic when teaching Intro CS?
When teaching Intro CS in Java, I sometimes tell students things that are not entirely true, such as that, unlike abstract classes, interfaces cannot contain any code. (For those of you unfamiliar ...
54
votes
9answers
22k views
How do you teach something when you don't know it yourself?
Teachers are sometimes called upon to teach something with which they have no experience. Don't laugh. Doctoral level education is often exactly like this. The student's advisor may have no background ...
40
votes
13answers
6k views
Teaching the humble for loop
So, in C-style languages, the for loop has a funny little syntax:
for (int i = 0; i < 100; i++) {
// do something
}
If ...
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 ...
19
votes
5answers
2k views
Do you see the “Bimodal Distribution” too?
When people learn programming in a school setting, tests show a "two hump" tendency. Some students race ahead and grasp it relatively well and others struggle. Apparently this is more pronounced in ...
20
votes
11answers
3k views
Cheating on labs
It is spectacularly easy to cheat on CS labs at the high school level and above (roughly ages 14 and up), particularly on short, early assignments. In fact, there is article in today's NY Times about ...
5
votes
5answers
661 views
How important is “delivering the content” of a course?
In most fields instructors spend a lot of time on the Content of a course. Often this is phrased as Delivering Content, or Completing the Syllabus. The traditional picture, whether valid or not, is an ...
15
votes
11answers
643 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 ...
10
votes
5answers
968 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 ...
9
votes
3answers
503 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 ...
22
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.
...
31
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 ...
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
2k 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 ...
40
votes
18answers
11k 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 ...
9
votes
4answers
434 views
Making Technical Presentations Safe for Novices
One useful skill in CS is presentation of technical material to peers and/or superiors. Novices, however, often come to computing as introverts for whom public speaking is difficult and even ...
17
votes
12answers
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, ...
16
votes
9answers
935 views
Should I have written tests on basic programming skills?
When making more complex programs, it is natural that one needs to run the program to see whether things work and fixing bugs. However, if one makes a lot of mistakes in basic programming, e.g. ...
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 ...
14
votes
3answers
698 views
Do automatic style hints help students to understand the language they're learning?
Do automatic style hints (like those provided by linters) significantly increase the student's understanding of the language they're learning? I am asking because I assist in a course that uses a ...
5
votes
4answers
232 views
What are the tradeoffs of allowing students to submit test corrections?
Do you allow students to submit "test corrections"? Meaning, do you allow them to take the questions they missed on a test, denote the correct answer in some way, and give them partial or full credit ...