All Questions

Filter by
Sorted by
Tagged with
11
votes
4answers
1k views

Should I teach modern web development in an introductory programming course? How?

I'm currently teaching a introductory programming class in a technological university course (FYI, this is a type of university course that is not a BS). The recommended language to use for this ...
16
votes
9answers
950 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. ...
5
votes
1answer
76 views

In a course about Turing machines, how many questions like "Construct a Turing Machine that does X" should I include?

In a course about Fundamental Computer Science, which includes Turing Machines, how many questions like "Construct a Turing Machine that does X" should I include? There should be at least a few basic ...
10
votes
1answer
251 views

What to consider when choosing version of Python?

I will be giving a small course on the Python programming language to a group of interns this summer. As I am sure you know, there are many different versions of the Python language. I am wondering ...
15
votes
6answers
391 views

How to raise students' security awareness in programming?

My first website with a login form had the password hardcoded in the JavaScript code, and if the entered password matched it would redirect to a private URL that was just not linked anywhere, but ...
14
votes
3answers
707 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 ...
14
votes
2answers
192 views

How can I integrate teaching source code control (Git/Mercurial/etc) into my introductory CS class?

In the words of Andrew Clay Shafer, “In software development, version control is the foundation of every other Agile technical practice.” (Allspaw & Robbins, 2010). Yet, 57% of CS curricula does ...
18
votes
2answers
372 views

How does one create a balanced AI curriculum in light of the popularity of Deep Learning?

During the past decade, interest in machine learning has exploded, especially due to the many and growing successes of deep learning approaches using convolutional and other neural networks. To those ...
11
votes
3answers
175 views

on-What are pre-requisites for teaching version control to a high school CS class?

I'm interested in introducing version control to a HS CS class, and was considering starting with Github since it's a fairly standard tool used by developers. What are pre-requisites for ...
10
votes
5answers
147 views

When should concurrency and parallel multi-processing concepts be introduced?

Given the current trends with Moore's law and computer systems design, where even the cheapest cell phones and Raspberry Pi's, etc., are multi-threaded multi-processors, and any gains in performance (...
6
votes
3answers
280 views

Using microcontrollers in an Introductory course

Are there any advantages to using small microcontrollers (such as an Arduino, etc.) with tactile, physical I/O (such as buttons, LEDs, robotic actuators, etc.)? For instance, does it help create more ...
16
votes
3answers
757 views

What are effective approaches for teaching dynamic programming?

Dynamic programming is a subject that's notoriously difficult to learn and to teach. It's one thing to educate oneself, say by reading the appropriate chapters in Kleinberg & Tardos or CLRS, and ...
18
votes
9answers
2k views

Recommended IDE for teaching web development to beginners

I have been assisting an IT teacher who has recently started teaching computer science to year 7-9s (11-13 year-olds). This year they will just be covering basic client-side web development: HTML, CSS ...
6
votes
10answers
428 views

When teaching Web Development, should server or client side come first?

I teach full stack web development because the purpose of the course is to give an overview of how a complete website is created, from SQL for database management to HTML/CSS/JS for front-end to ruby ...
15
votes
8answers
660 views

How can I convey the idea of a programming language vs. a markup language?

When I try and teach web development to absolute beginners, I seem to always get a question about the roles of HTML/CSS/JS and about how the browser renders the HTML. It seems to me that the confusion ...
21
votes
12answers
1k views

Should assembly language be taught in an introductory course (or soon after)?

Should ye ole' fashioned assembly language be taught to help students develop a sense of how actual underlying computational hardware supports/allows running their higher-level or more abstract ...
6
votes
6answers
560 views

Using Processing as an entry point in an Introductory Course

We have two entry points for programming students here: one is web-oriented and features HTML5/CSS3/ECMA6, and the other is in a robotics environment using LabView. Both classes address the "big 5": ...
40
votes
29answers
6k views

Analogy for teaching recursion

When teaching recursion, what is the best analogy people use to teach the idea of recursion. There are some nice artistic representations And the idea of repeatedly cutting a phone book or ...
20
votes
11answers
4k 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 ...
22
votes
9answers
1k views

Should the first Programming/Algorithms class be taught in pseudo-code?

When I was studying, my professors had different approaches when teaching programming to beginners: Choose a language with which the professor is comfortable and fulfills the course requirements but ...
8
votes
3answers
354 views

Teaching Induction to Prove the Correctness of Algorithms

This is a subject that I have had a lot of trouble clarifying for students. I can explain the components well enough, but I have trouble getting kids to connect the big picture of the proof to the ...
9
votes
11answers
613 views

Objects Lab Before Inheritance and Polymorphism

I am finding it very difficult to create a lab for Objects in Java before we've involved Inheritance and Polymorphism. The problem, as I see it, is that Inheritance and Polymorphism are basically the ...
10
votes
4answers
429 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 ...
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 ...

15 30 50 per page
1
17 18 19 20
21