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.
75
questions
9
votes
3answers
2k views
Best practices for letters of recommendation in CS
As a college professor, I am often asked for letters of recommendation by my CS majors. I have templates, for whether the student is applying for grad school, for an internship, for a scholarship, etc....
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 ...
9
votes
8answers
313 views
Exercise or example to reinforce idea of functions?
I have a group of students with a very shaky understanding of functions and their purpose (encapsulation, reuse, modularization). The assignments I give them require them to write simple functions ...
7
votes
1answer
89 views
REPL environment for teacher assignments
As a teacher on an IT high school, I am teaching the basics of C#, JavaScript and PHP (in different years of their study of course)
For about 3 years I had been happily using the repl.it classrooms. ...
72
votes
8answers
17k views
Is it bad to force my students not to return early?
A fellow teacher of mine is teaching "basic algorithms" course in high school, and we have quite conflicting opinions when it comes to returning from functions.
...
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 ...
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 ...
15
votes
9answers
4k views
How to teach competitive programming?
Competitive programming is mainly about problem-solving skills. Students are given a problem and they have to write a short program to solve it. The students are given a problem for which they have to ...
13
votes
12answers
4k views
What should be included in a best practices C course?
At our University, we have in the first semester a very difficult C Introductory Course, that consists of presenting a shortened version of the language specification: What are for/while loops, if ...
11
votes
6answers
8k views
What should be included in student portfolios for CS?
Should CS students be keeping a portfolio, and if so, what should it look like? What would you, as a potential employer or college recruiter, like to see in/on a potential employee or student ...
6
votes
5answers
289 views
Students' confusion over C structure members and structure variables
Before I ask my question, some background may be apposite to provide context. Please indulge me.
At the institute I teach, our Intro to Programming. It involves a coverage of C language. We believe C ...
6
votes
3answers
2k views
What are the pedagogical methods for teaching programming?
This is a very objective question. I want to know what are the methods for teaching programing?
I'll provide a parallel example to make this clearer in case this causes any confusion.
I have ...
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 ...
130
votes
13answers
64k views
Should I teach that 1 kB = 1024 bytes or 1000 bytes?
Which conversion should I teach to my undergrad students? That 1 kB is 1024 bytes (binary) as everyone learned back in the nineties or the recent industry-led "friendly" conversion that says that 1 kB ...
2
votes
3answers
116 views
How to teach something when your students have a high discrepancy of knowledge?
I'm going to do a course for my entire University, this means students that are in the last year and also in the first year. What can I do so what I teach isn't too hard to understand for the first ...
6
votes
3answers
112 views
Is less than comparison more natural than greater than comparison? [closed]
I was teach on mathematics that on real line small numbers are on left and big numbers are on right. Therefore, I think the comparison 0<1 is more natural than 1>0, and in general, x less than y is ...
5
votes
7answers
378 views
Python IDE for beginners
With a bunch of colleagues we will start learning Python together. I'm a programmer, but I'm new to python. Most of my colleagues know some VBA, but are generally new to programming.
What IDE do you ...
2
votes
3answers
84 views
How do you distinguish jargon from normal language in explaining a concept?
For example, words like "method," "puts," and "object" do not have as much linguistic markedness as "comparator," "eff-gets," and even "function" (because context alone at the very least conjures up ...
3
votes
2answers
161 views
Recent Graduate becomes a teacher
In less than one month I'll be graduating from the equivalent of high school (I'm in Latvia). In my high school you also get a certificate based on which career you choose eg. a Chef or a Computer ...
1
vote
5answers
270 views
Through what basic programming language can beginners easily get the concept of programming? [duplicate]
I have some students that are from medical background and have no concept of programming. So, which language I should teach to them to make their basic concept of programming perfect?
4
votes
2answers
121 views
How can we determine which students are a good fit for an educational program?
tl;dr: How should I be thinking about assessing technical experience for admission into an educational program?
At my day job, I help run a program that invites undergraduate students to get "real ...
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 ...
3
votes
9answers
1k views
Why some students think that programming is difficult and hard to learn, how I convince my students that programming is not difficult as they think?
Some students think that programming courses are tough and hard. I personally know some teachers who say to their students that programming is not their cup of tea. How much percent this thing is true ...
6
votes
5answers
850 views
How Effective Is “Rosetta Code” as a Teaching Technique?
When working to teach developers Scheme (which is functional programming) I'll often show them analogous examples in C#. The ...
10
votes
5answers
911 views
Teaching “math function” vs. “CS function”
The word function has different meanings in math and computer science. For example, f(x) = rand(1) is a valid (pseudocoded) CS ...
42
votes
15answers
17k views
What advantages do students who learn how to touch type have?
Would a student's overall CS education benefit by having such a skill, and if so why not make it a required prerequisite?
An editor notes that there are three (at least) different ideas here that ...
11
votes
4answers
334 views
Are programming contests beneficial to students?
Background: Iām not entirely a CS educator, but I did run into a debate on whether programming contests are good for students.
A lot of people around me have fun in programming contests. Usually, ...
26
votes
8answers
7k views
How do you deal with Lone Rangers in group projects?
We all have them - students who want to write all the code themselves, who don't want to be part of a group project. They have poor social skills, or they don't know anyone else in the class, or they ...
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 ...
6
votes
3answers
214 views
Research into the use of symbol names, in programming, and how it affects learning
When programming we need to name things. I have been using turtle graphics in python, and was wondering if the names, chosen, for the commands, were making it more difficult for my pupils.
Some of ...
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, ...
7
votes
3answers
225 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 ...
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. ...
3
votes
2answers
121 views
Process Scheduling is not “Process” Scheduling - Should I disclose it to students?
I have been teaching Operating Systems basics in a class and after Processes, Child Processes and Threads, we have managed to move to "Process Scheduling"
Now, ironically, as we know that it is not ...
6
votes
2answers
211 views
Should I correct mistakes in student presentations?
In my graduate programming languages course, each student is required to learn a different novel programming language during the course of the semester and give a presentation on it to the class at ...
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 ...
9
votes
6answers
6k views
What are the advantages and disadvantages of cumulative vs percentage grading?
There are many ways to grade students. One is to provide a fixed body of student work and then give a percentage grade for assignments, with the overall grade representing the percentage achieved of ...
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 ...
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
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 ...
2
votes
2answers
122 views
How to help students comprehend the HTML document flow?
I'm teaching a student how to create website front ends. This student comes from a SNAP/Scratch/AppLab type environment where they learned basic programming concepts, but to position visual elements ...
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 ...
2
votes
4answers
376 views
Is it possible to teach selection (`if`) before variables
I was looking at the CAS progression pathways, and noticed that in column 2 (Programming and development), it has selection (if) before variables.
https://...
3
votes
2answers
75 views
Reducing bias, from lesson that improves, as taught to a number of classes
I have been giving my class help-sheets, recently. This have lead them to me more independent. They are also filling in a S.N.O.T form, this is a form where they tick off tasks, to show if they did it ...
4
votes
1answer
408 views
Computer Engineering student with Holes in my knowledge (i want to improve)
I'm a computer engineering student, I definitely have my strengths and weaknesses like any other student. And, I would like to improve upon areas that I'm either struggling in or completely missed in ...
20
votes
10answers
4k views
What ethical practices do students (as potential software engineers) need to be trained in?
The kinds of things that people with technical training can do have societal impacts, both for good and evil. Programmers are building the future. One future nightmare is Skynet.
Many problems in ...
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 ...
11
votes
4answers
891 views
Who should own the intellectual property on a program developed in classes?
I am aware of some teachers that own or collaborate with IT companies, so sometimes the assignments that they provide, to the students, are supposed to solve a specific problem that the company may ...
4
votes
2answers
191 views
Best Practices for introductory teaching
Literature states that there are particularly difficult issues with introducing programming, and that many of the issues are still not well understood. But some results indicate that these are some ...
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.
...