All Questions

6
votes
3answers
274 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 ...
2
votes
1answer
87 views

Best Way to Explain Distinction Between Void vs. Return Functions in JavaScript [closed]

I am familiar with the concept of void and return methods in Java, and am teaching a course in JavaScript, programming Sphero robots. I think I have the gist of how to explain these concets, but am ...
4
votes
1answer
77 views

Are there companies that allow to be free when learning and teaching?

I'm currently a trainer in a kind of "expert" domain: a web-programming backend framework. However, what I truly like is to help people regardless of their level, mostly online or at conferences. The ...
3
votes
3answers
94 views

What physical examples can I use for public key/asymmetric encryption?

I'm going to be teaching a lesson about asymmetric cryptography to US high school students who have no background in Computer Science, specifically the way that public key cryptography is used while ...
-1
votes
2answers
119 views

Why is the availbality of SHA-2 not taught ot CS students in their first year? [closed]

When discussing Hash Functions and Hash Tables, collisions are brought up and how poor hash functions can lead to many collisions for a large input, and the techniques for resolving them such as ...
3
votes
3answers
137 views

How can we best inform potential students of the nature of CS?

Recent questions deal with the problem of too many applicants to CS programs, both in High School and University. Yes, this is a problem when only a smaller number can be accommodated for reasons of ...
-2
votes
1answer
55 views

At what age should someone know what they want to “be”? [closed]

One question that children are often asked is, "What do you want to be when you grow up?" This really means, what employment they would like. This question needs an answer, definitely by the time one ...
51
votes
27answers
17k views

How to teach a person to enjoy programming?

I've been teaching programming to my 13-year old son for over a year now. I'm not satisfied with his progress. I think that one of the reasons is his attitude: He wants to learn programming (he said ...
7
votes
3answers
184 views

Student Teaching Minetest Modding in school as club

I am a grade 11 student at school. I created and am running a programming club each lunch. We meet once a week (typically, sometimes I have to cancel since my club isn't important). We have 50 minutes ...
3
votes
1answer
176 views

Can assignments be graded using blockchain?

I enjoyed reading this explanation of blockchain at codeanalogies.com, which imagines a fictitious distributed grading system in a high school math class. The article made me wonder whether it would ...
2
votes
1answer
80 views

Statistics on functional programming in CS1

This question got me thinking about cs1 and functional programming. Do there exist anywhere statistics on what portion of schools teach cs1 using a functional paradigm? I know that some schools do, ...
6
votes
3answers
188 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 ...
7
votes
6answers
696 views

Why isn't Functional Programming Taught First?

We've recently gone through the process of selecting an intern from a local university to join our team for the summer. We are using F# and almost exclusively using functional programming techniques ...
8
votes
2answers
117 views

How to teach sums and asymptotics to students who don’t know limits

I am to teach sums and asymptotics to first year CS undergraduates who have only high school math. I thought it would be attractive to follow chapter 14 of https://courses.csail.mit.edu/6.042/...
4
votes
2answers
212 views

Use of programming aptitude test in CS program admission

For research reasons, in the last few days, I’ve been looking at several statistics on computer science programs in Portugal (but also in Europe and the US). One of the most interesting findings is ...
6
votes
2answers
183 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 ...
7
votes
4answers
260 views

Will you tell students that Algorithms + Data Structures = Programs now(21st century)?

Algorithms + Data Structures = Programs occurs in 1976 (in Niklaus Wirth's book). In the past, we (teachers) may usually cite this equation to emphasize the importance of algorithms/data structures. ...
20
votes
7answers
2k views

Is there a better way to validate student learning?

I'm a student in an undergraduate Computer Science program with several years of experience before coming to university. As I began working through the coursework here, a large problem stuck out to me....
7
votes
3answers
2k views

Is it ok to use logic programming(like Prolog) as students' first language?

Some use FP, some use OOP, some use procedure. It seems few universities start with logic programming, why?
101
votes
14answers
35k 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
148 views

How Can I Explain The Concept Of Zero Knowledge Proofs To Students

One of the trickier concepts that comes up in the realm of cryptography is the notion of zero-knowledge protocols (also referred to as zero-knowledge proofs). This is a way to verify an end-user's ...
3
votes
1answer
79 views

Constructing a curriculum from multiple resources for complex subjects

I was recently asked to teach someone OOP and C++, to a relatively advanced level in the former and an intermediate level in the latter. After one half of a private lesson, it became clear that the ...
3
votes
2answers
81 views

Should we merge technology departments with the science departments?

At our high school, our tech department has made many strides in the past decade. The courses and technology we offer are a matter of pride when showcasing our school. However, our department is small ...
49
votes
13answers
7k 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 ...
25
votes
9answers
5k views

Once implicit/inferred typing is introduced, how can I impress upon students the importance of not abusing it?

I typically have the same students two semesters in a row, for programming I (VB.NET) and programming II (C#). In our early, impressionable time together, I stress to these students (high-schoolers) ...
4
votes
2answers
114 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 ...
4
votes
2answers
152 views

Criteria for admission to AP CS courses in high school

The question is simple and direct here: what objective criteria are helpful* in admitting students to AP CS courses? (By "helpful," I mean criteria that have some worth as indicator of future success ...
21
votes
12answers
5k views

What are the advantages/disadvantages of teaching how to implement Nodes, Linked Lists, Stacks, and Queues before showing built-in implementations?

I'd like to introduce my students to Nodes and then require them to implement their own Linked Lists, Queues, and Stacks before showing them that their language (C#) provides implementations of these ...
3
votes
1answer
180 views

Resources for the Praxis CS Test

Current middle school/high school teachers in my state who want to obtain an additional license to teach computer science (notably AP CSP/CS A) must pass the Praxis computer science test (5651). I'm ...
5
votes
5answers
406 views

What screencasting tools can be used for online teaching

I wish to make a video like this one from codeschool.com. In this video, the creator looks like he is using some screencasting software where he can write on his screen and talk over what he is doing ...
3
votes
2answers
126 views

Lab Requirement in AP CS A

The official course description for AP Computer Science A, a high-school level course focusing on OOP using Java, details a 20-hour lab requirement. College Board provides three labs ready-made for ...
2
votes
1answer
63 views

How to collect and grade Xcode work

I am preparing to teach an intro to app development class to approximately 10 students who are there voluntarily this summer using Swift and Xcode. The course will consist of daily, 5-hour class ...
5
votes
3answers
130 views

“Computer sciency” and “practical” exercices involving dictionaries

I am teaching a course in data structures to a 2o semester. We hear often that the dictionary is a very versatile data structure, and solves quite so many problems. I'd like to illustrate that, but, ...
15
votes
5answers
2k views

How can I speed up the construction of high quality testing materials?

Giving the same assessments from year to year causes fairly obvious problems. Cheating becomes more and more of a potential issue. Basic testing security dictates that we must create new assessments....
5
votes
4answers
269 views

What are “general purpose programming skills”?

The UK introduced its National Computing Curriculum a couple of years ago, which requires all children to study computer science from age 4, and programming from age 10. Children can opt out of the ...
2
votes
1answer
95 views

What resources and data sets are available for teaching big data courses?

I currently utilize Cloudera’s QuickStart VM and for Talend’s Big Data Sandbox as part of my big data classes. These touch on frameworks, storage / data access options, data integration, data quality, ...
49
votes
9answers
7k views

What are healthy, productive ways to encourage students to progress to more advanced constructs as opposed to staying with the familiar?

In my experience, there are always students who are resistant to moving to more advanced constructs. They want to stay with what they already know. For example, when they are taught arrays, they ...
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 ...
17
votes
4answers
4k views

How to give assignments that require heavy computational resources?

For an undergraduate course in AI, there has been an assignment that uses deep learning on neural networks to do image classification. However, many students complained about their (university ...
10
votes
4answers
153 views

Resubmitting Projects

How do y'all decide when to allow a student to resubmit an assignment rather than just taking a low grade? I have 3 things that tend to pop up when projects get turned in. Wrong Thing: Student turns ...
6
votes
12answers
598 views

For a beginner, is it better to start with C or a higher level language?

Some friends of mine, over the years, asked me suggestions on what to study for learning how to code. Most of them had no real final purpose, just wanted to be able to understand programming and be ...
1
vote
2answers
180 views

Test takings strategy tragedy

Are students generally aware of test taking strategy or do I need to emphasize this? I have to ask because I often reuse tests and some years all the students breeze through with plenty of time, and ...
19
votes
6answers
6k views

How do you teach Big O to high schoolers with varying degrees of math exposure?

My second semester programming curriculum includes a searching and sorting unit and mentions Big O notation, giving the notation for each search and sort we implement. It does not show the ...
0
votes
1answer
126 views

What IF Thinking [closed]

I find that after teaching for months, some students still get stumped when they try to write code for things like simple two-alternative situations. They have some code for something like: ...
7
votes
3answers
147 views

An exercise in utility

We have an incentive grading scheme for programming labs such that students get 89% for submitting a program that meets the basic requirements of the assignment, if submitted on time. To get the "...
9
votes
5answers
306 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 ...
35
votes
15answers
13k 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 ...
6
votes
4answers
684 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 ...
6
votes
6answers
258 views

Should I Provide Answers To Exercises?

I'm preparing some exercises to introduce software developers who have no experience with Scheme to the language. Part of the exercises are simple things like: ...

15 30 50 per page