All Questions

6
votes
4answers
468 views

Using Oracle's Java Documentation as a Teaching Tool

I'm in the process of preparing for the second semester of AP CS A (Java). I want to review objects and classes with my students to prepare for our extended focus this semester on inheritance and ...
5
votes
2answers
198 views

Is it possible to study too many things in parallel?

Unfortunately I did not study well at school, I was not interested in many things, and I did not understand that things. But I have matured, interests have become more. I am now 20 years old. Now I ...
6
votes
3answers
228 views

What student exercises force them to modify and extend their own thinking process and methods?

Beginners in CS will generally benefit from changing and expanding their thinking skills. Some of our thought processes may not be intuitive to a beginner and exercises can help them expand their ...
5
votes
2answers
185 views

How far do you take modular expressions?

I'm sure that basically every introductory course involves teaching about the ubiquitous mod operation. In my experience, and I'm sure I'm not alone in this, I've found that teaching my students that ...
6
votes
1answer
191 views

What are good class exercises on design patterns?

When I teach a programming course, I like to spend 10-20 minutes in each lesson on some programming exercises that the students do in class. This lets me see whether the students understand the ...
5
votes
3answers
273 views

Teaching C++ to students that know Java

I am now teaching an OOP course to 2nd year undergrads. This is actually a course in advanced programming in Java. In the next semester, I am going to teach the same students, a C++ course. From what ...
5
votes
7answers
391 views

Allowing students to work cooperatively on a computer, and retain access to their work

I like pupils to work in pairs, as they learn quicker this way, and need teacher help less often. However, there are problems, when working together on a computer: Free loaders. For this, I give ...
4
votes
3answers
383 views

Advantages and Disadvantages of Teaching Block-coding Languages Such As MIT's App Inventor?

I'm thinking about teaching App Inventor to students who have just begun their adventures in the programming field. MIT's App Inventor is based on block-coding, where the user designs the UI and then ...
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 ...
4
votes
4answers
151 views

Where, sequentially, do Interfaces sit in an introduction to Objects?

I've been teaching Objects for years now as part of AP Computer Science A (which means that I am teaching OOP in Java), and I have experimented with putting Interfaces in at different locations. In ...
5
votes
2answers
80 views

What is a (simple definition of) a development environment?

I am trying to create lessons and curriculum designed for school-aged students, teaching about IDEs and development environments. What is a succinct, not too complex definition of a development ...
2
votes
3answers
159 views

A better database management system, for teaching databases

I have been teaching databases, over the last few weeks, to key-stage 3 pupils (year 7 and 8). The school I am at uses Microsoft's Access. This seems adequate in many ways. However it has many ...
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 ...
9
votes
1answer
104 views

The order of questions on examinations

I am almost painfully aware of the importance of examinations as a way to create emotionally important memory-recall events, and therefore their vital importance in learning itself. Within the ...
6
votes
1answer
227 views

Enjoyable and\or fun way to explain cmake

As a pilot project (which was delayed by an incredible amount, seeing as it's starting 8 weeks after it was meant to), my school grouped together a few kids (high school, they know basic OOP and work ...
5
votes
4answers
106 views

Quick and easy intro to computer science for kids for an Engineering Field Day

We have a large engineering day that hundreds of kids (ages 6-12) and their parents will attend. The setup is as follows: local engineering groups/societies will have stations and they will have ...
8
votes
6answers
419 views

Single-dimensional array and simple looping activities of significance

I give a lab on single-dimensional loops and arrays. By "single dimensional loops", I mean that there is no nesting of loops. (I will later give a second lab on multi-dimensional loops and arrays, ...
7
votes
2answers
169 views

Paired programming with an odd number of students

I have only lately started allowing (and encouraging!) paired programming, and it is going very well. The kids enjoy it, and they appear to be learning the material with less pain. Not everyone has ...
7
votes
3answers
131 views

What's the best way to assess programming?

Over in England the current model of assessing GCSE level programming (exams for 16 year olds) is being debated. A system where students had to program and write up solutions to a given scenario has ...
5
votes
5answers
172 views

Resource recommendations for teaching OOP via a practice-oriented example

I intend to teach some OOP methodology but everywhere I look, there are only syntethic examples and elaborations of various concepts of the OOP world (for example: what is inheritance, how to use ...
28
votes
11answers
8k views

How to stop being The Oracle

When I did customer service for an application I was developing, I found that most of the time, if I did NOT answer the phone, the user would figure out their problem and learn more than if I did ...
4
votes
1answer
131 views

A lab activity for the Y-Combinator

We are about to study the y-combinator as a culmination of lambda calculus, and I would like a shortish lab activity that is related to this idea. We are currently working in Scheme, though I don't ...
9
votes
2answers
319 views

“Franklin” Method for learning good programming?

I was reading Ben Franklin's biography(the one by Walter Issacson), and it describes his method for learning to write: he would take excellent essays, jot down the basic ideas, then try to reconstruct ...
9
votes
3answers
364 views

Agile / SCRUM Course Structure: Downsides? Resources?

I am planning to teach an undergraduate-level course on mobile application development. I have been thinking about the best way to structure such a course, and am starting to believe that an agile ...
5
votes
4answers
151 views

Explaining the Value of Knowledge of Digital Logic

I am a college teacher developing an introduction to digital logic for grades 8-12. This is a special topic that will be presented in three 50-minute periods with in-class exercises. It won't go ...
-4
votes
1answer
78 views

Is there a textual alternatives to UML diagrams? [closed]

I found by studying computer science that there are UML diagrams. I found them useful but sometimes too slow to draw. Is there some alternatives to UML that does the same but is easy to type for ...
1
vote
7answers
198 views

Search for a useful interactive programming environment

More interactive environments are easier to learn, but the text based ones I have seen lately don't let you change your mind. I have used Read–Eval–Print Loop (REPL) environments. However these are ...
1
vote
1answer
84 views

Best Git strategy for workshop code (starter -> end solution)

I run web development coding workshops where I give students a starting repo, then want to have a version for the final, finished "solution". Ideally students should not see the solution easily until ...
3
votes
2answers
105 views

How do I construct a basic lesson on computational complexity and undecidability?

Essential Understanding 4.2 of the AP CS Principles curriculum is as follows: "Algorithms can solve many, but not all, computational problems." Among the topics I am expected to cover in the context ...
3
votes
3answers
130 views

Toy Databases for Class Examples/Homeworks

I am familiar with the Northwind database and Chinook database as good toy databases for allowing students to practice writing queries. Are there other databases in a similar vein that are available? ...
4
votes
4answers
179 views

Engagement advice on Creative computing

I'm preparing a course for next year, aimed at kids from ~6-16. It's based around the concept of creative computing: http://scratched.gse.harvard.edu/guide/index.html I think it will be a great ...
3
votes
2answers
81 views

Conflicting meaning, between exam board / teaching resources, and technical meaning

I will soon be teaching a lesson on ROM, RAM, and virtual memory. The problem is with “virtual memory”: Some of the teaching resources correctly use the phrase virtual memory, and physical memory, ...
5
votes
1answer
85 views

Online courses to form or improve a CS resume?

I am looking to start a career in CS (programming, software developing and eventually artificial intelligence) but don't have the economic means to attend university. I am currently working on ...
5
votes
3answers
143 views

Teaching NFAs after DFAs

Michael0x2a's recent question reminded me of a problem I've had teaching about Nondeterministic Finite Automata in the past. I can get my students quite comfortable following and creating DFAs, but ...
9
votes
2answers
127 views

Teaching students how to construct regular expressions (and other “translation” style problems)

I'm currently helping teach a unit about languages as a part of a discrete math course -- we're currently focusing on regular expressions, NFAs, DFAs, CFGs, grammars, and the like. One of the skills ...
3
votes
3answers
97 views

Clear example of the Object-Relational Mismatch

An important issue in programming is the Object-Relational Mismatch, but I have not seen any good explanations that use familiar terms. I came up with one involving a Family Tree application. The ...
4
votes
2answers
145 views

Equivalent of PISA study for standardised assessment of skills on computational thinking and programming?

My university wants to develop an assessment procedure in order to evaluate the general (not for a specific topic or course) skills on computational thinking and programming languages of our students ...
3
votes
1answer
185 views

Research on gender and attainment in CS

I am lecturing on gender and computer science and have found plenty of material outlining factors that impact female access to computer science courses. I stumbled across this paper: https://dl.acm....
-1
votes
1answer
109 views

Help in choosing elective subject

I am a student of B.Tech CSE and have an option to choose any one of the subjects in the next semester. Below are the options: Enterprise Java Digital Image Processing Compiler Design I want to ...
2
votes
2answers
113 views

Teaching intermediate Java to students familiar with C

The class I teach (a class whose teacher I assist1, to be precise) is learning intermediate Java this year (data structures, basic OOP and a few lessons about how Java actually works). A few of the ...
4
votes
1answer
179 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 ...
8
votes
3answers
189 views

What is the pedagogical value of Conway's Game of Life?

Lately I've come across Conway's Game of Life in a number of different arenas (articles, conferences, blogs, etc.). Last night I coded it up in C and was utterly mesmerized watching it. That being ...
3
votes
4answers
357 views

How should I respond to a student who proposes a “weak” analogy?

I'm teaching programming with JS at the highschool level, students have some prior experience with programming with different languages but are still mostly beginners, and we're working through some ...
7
votes
2answers
311 views

How to prevent dictating the solution when tutoring

My girlfriend is currently in her final year in college, and is following a first-years programming course, learning C++. The class is graded partially from homework exercises. She is struggling with ...
4
votes
3answers
178 views

How can we educators improve a lot of the negative behavior within the CS community

One thing I noticed in the years I've studied CS and wrote code is the arrogance that a lot of programmers have within the CS community. I remember in high school, coding was just for the tech savvy ...
6
votes
2answers
222 views

Use of “learnable programming” (via direct manipulation) software, in teaching

I read something on this site, that lead me to read about Bret Victor's learnable programming and direct manipulation. I was wondering if anyone has used any software like this. What software have ...
1
vote
3answers
107 views

Make it easier, and quicker to get to the start

When teaching I often have pupils struggle in the first few minutes. When they are setting the computer up, ready to start work. They often have to follow lengthy instructions, that I print on paper, ...
5
votes
3answers
348 views

Encourging Growth mindset, in computing lesson

I sometimes have pupils, that struggle to learn because they have a fixed-mindset (“I can't program”, “I can't use computers”, …). I the context of teaching a Computing (Computer Science, IT, ...
103
votes
21answers
25k views

Is there some meaningful percentage of students who can't learn to program?

A few days ago, I had a high school sophomore (who is now in her third CS class, having passed the prior two) look at this Java code for a solid 3-5 minutes, and was unable to figure out what it did: ...

15 30 50 per page