Stack Exchange Network

Stack Exchange network consists of 174 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

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.

2
votes
4answers
184 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 a cup of tea. How much percent this thing is true ...
6
votes
5answers
147 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 ...
10
votes
4answers
216 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, ...
44
votes
15answers
15k 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 ...
6
votes
3answers
261 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 ...
6
votes
3answers
187 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 ...
6
votes
2answers
182 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 ...
101
votes
14answers
34k 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 ...
4
votes
2answers
110 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 ...
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 ...
9
votes
5answers
301 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
4answers
683 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 ...
9
votes
6answers
2k 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 ...
25
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 ...
69
votes
8answers
16k 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. ...
2
votes
2answers
109 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 ...
6
votes
4answers
214 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 ...
45
votes
9answers
13k 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
362 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://...
4
votes
2answers
74 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 ...
13
votes
11answers
3k 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 ...
4
votes
1answer
178 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 ...
9
votes
4answers
378 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 ...
5
votes
3answers
182 views

Pick-me-up exercises for after-lunch brain death

If you ever had a class right after lunch break, you know what this question is about. (Student's stomachs full, computers murmuring, room half-lit, teacher droning about something - I don't blame ...
9
votes
2answers
135 views

Is it a good idea to have students see syntax much earlier than they write it themselves?

I was wondering if there was any research on whether or not students generally perform better later if they're introduced to the syntax they'll be learning far earlier than they actually use it. As ...
3
votes
2answers
179 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 ...
5
votes
2answers
258 views

Good, Motivating Examples for Algorithmic Complexity

I was recently reading a really good article on this topic, and I realize that it could be a very good added value for students to understand better and appreciate (and eventually put in practice) all ...
2
votes
2answers
108 views

What part does formal Ethics training play in your curriculum?

What is your current practice of teaching ethics to students, both institutionally and individually? Note that the teaching of ethical standards (not just lists of rules) has at least two elements: ...
6
votes
4answers
608 views

Should students be taught to be first and foremost: scientists or mathematicians?

It's undeniable that Computer Science is a mixture of disciplines including science (the scientific method, some physics needed to truly understand how computers work at all levels, testing ...
19
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 ...
21
votes
9answers
4k 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 ...
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 ...
12
votes
4answers
870 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 ...
7
votes
3answers
104 views

Working on practical projects as a team - good or bad?

We are trying to implement a course where students develop web apps using PHP+AgileUI (no HTML, JavaScript or CSS) with a strong emphasis on "object oriented" approach, designing business logic and ...
4
votes
3answers
188 views

Best puzzle type to foster logical thinking

With my informal Coding for Teens group, I like to start each session with a puzzle that we do as a group. My reasoning is that programming is not primarily about semicolons and syntax, but about ...
9
votes
3answers
158 views

What are good models for a Tutorial System for lagging CS students?

Some students find themselves falling behind in a course but still have the desire to do well. Some colleges provide a definite system of tutors in which such students can get additional help. What ...
5
votes
1answer
165 views

Tips for self-study with just a textbook and google

I'm going to be working through a textbook on discrete mathematics that has a special focus on computer science. My only resources are the textbook (which, in its defense, has answers to the odd ...
6
votes
3answers
268 views

What are good models for an Honors Program for CS students?

One way to extend the reach of your best students is to have an Honors Program that, perhaps, runs over several years. One model is to have a special program to which students are invited. ...
4
votes
2answers
143 views

Working with students with specific secondary skill

I often see students at levels varying from really bad to incredibly clever. The students in the middle of the scale fit to curriculum perfectly (as it is meant to be for them). The students at either ...
8
votes
3answers
450 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....
9
votes
2answers
684 views

What should a teacher do with information about plagiarism before the final submission

As probably we all experience, plagiarism is very common in CS. I know that there are several types of plagiarism ranging from simply submitting a copy of the colleagues’ code to other highly ...
9
votes
5answers
801 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 ...
5
votes
5answers
621 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 ...
21
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. ...
9
votes
4answers
464 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 ...
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 ...
15
votes
8answers
3k 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 ...
-3
votes
2answers
786 views

How do you teach EVERY student? [closed]

I take it as the Prime Directive that I must teach every student in every class session. You may disagree, but I'm not asking to debate that question, but to look for how it might be accomplished, ...
5
votes
2answers
95 views

Priority Queue practice vs examples

After teaching Priority Queues, I want to give the students some notion of what it looks like when they are used in code. I have two approaches and I am unsure about which would serve my goal better: ...
10
votes
4answers
273 views

Can sharing learning stats be beneficial to guide beginner students?

Context The main consensus in most compsci programs I have been at is that a sizable amount of students is inherently unable to learn how to code. An old entry on Jeff Atwood's blog summarizing the ...