# All Questions

653 questions
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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://...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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? ...
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 ...
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, ...
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 ...
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 ...
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 ...
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 ...
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 ...
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....
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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, ...