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 [curriculum-design]

The curriculum of a Computer Science course is a sequence of planned subjects that the students will be taught in the course. This tag should be used for questions asking for guidance on designing parts of that sequence, the entire sequence or questions related to the preferred order in which to ...

10
votes
1answer
1k views

What belongs in a low-math undergraduate AI elective besides ML?

The primarily undergraduate institution at which I teach does not have an Artificial Intelligence course. We do have classes on Data Analysis and Machine Learning: DATA 150: Introduction to Data ...
6
votes
1answer
366 views

How Can I Apply Spaced Repetition To Teaching CS?

Lately I've been seeing quite a bit on the importance of spaced repetition in retention of skills. My job is to level up a group of C# developers and I'm trying to figure out how to apply the idea of ...
7
votes
6answers
467 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 ...
3
votes
1answer
75 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
74 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 ...
4
votes
2answers
106 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 ...
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 ...
6
votes
12answers
566 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 ...
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 ...
6
votes
6answers
253 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: ...
0
votes
2answers
163 views

The Starting Gun vs Freedom of Choice [closed]

According to research, if people are to develop abstract reasoning capabilities (Formal Operations and Post-Formal) they need the proper exposure at age 7 to 12 - generally speaking. Adults that were ...
6
votes
1answer
206 views

Is there evidence of differences in the outcomes of objects-early vs objects-late?

Here is the essential parts of a (HS) Junior level question from one of our (Canadian) national computing challenges. (http://www.cemc.uwaterloo.ca/contests/computing/2017/stage%201/juniorEF.pdf) ...
5
votes
3answers
259 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 ...
4
votes
4answers
139 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 ...
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
3answers
348 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 ...
2
votes
3answers
116 views

Teaching Critical Thinking

In answers to a previous question, a few people suggested intro programming with true novices might not be the best place to introduce critical thinking/planning skills for programs. To me, intro ...
3
votes
2answers
165 views

Is there independent evidence that physical computing improves engagement

The micro:bit foundation present some research findings which look quite encouraging when it comes to using physical computing as an introduction to Computer Science here: 90% of students said ...
8
votes
3answers
199 views

What does a certification program for CS high school teachers need to include?

If a high school math or science teacher was going to begin teaching computer science, what do they need to know? I know of many teachers given this responsibility without any training for it. Since ...
7
votes
2answers
238 views

Teaching information security to students without basic IT knowledge

Context I've been mandated by the university of Tokyo to teach Information security courses during my working hours (initiation level). We are 3 teachers, 2 security researchers employed by the ...
6
votes
5answers
248 views

Show students the consequences of their design decisions

In my experience, university students spend years writing throw away code. They develop assignments, get them auto-marked, then move on. On the other hand, professional developers are plagued by the ...
21
votes
11answers
5k views

What could be the possible advantages of teaching Scheme as first programming language?

When I started my Computer Science studies, Scheme was the first thing we learned in our first programming course. Almost 8 years later, I ask a friend of mine, and it seems that they are still ...
4
votes
3answers
317 views

Teaching C#, Java, etc. to students who are bad at OOP

Last semester, I was assigned two classes of C# and assuming them to be well-versed in Programming Fundamentals (PF) and Object Oriented Programming (OOP), I started the course at normal pace. After a ...
15
votes
7answers
370 views

Teaching a blind high school student

I am teaching a blind high school student in my APCSA class. All students are using a combination of CodeHS and Project Lead the Way curriculum. Neither of these are very friendly to my blind ...
6
votes
2answers
70 views

Workshops on Cloud (Azure)

About a month ago (before they took off for their vacation) some of my technology club members asked me if I could conduct some workshops on cloud. Being a lifelong Microsoft man, and something of an ...
7
votes
4answers
220 views

How to effectively teach strings and string literal constants?

I am teaching a general introductory CS course to 18-19 year olds, with Python3 as a support language, and I am not satisfied with how some students respond to strings and string literals. That is ...
5
votes
2answers
72 views

Intensive basic VBA course - which variables to teach?

Which variable types are the bare minimum to teach non-programmers who want to be able to create and modify simple VBA (MS Office) macros? I start by showing them the concept of variables through ...
50
votes
8answers
16k views

Students can solve programming exercises but not explain their solutions. What to do?

I've seen too many cases when a student has completed a programming exercise (without cheating) but can't say, for example, what type of values a variable contains during program runtime (in case of ...
1
vote
2answers
97 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
2answers
135 views

What is a good design for a Capstone Course in CS?

Some Computer Science programs in the US have a course that is informally referred to at a Capstone Course that attempts to bring together most of what the student has learned. The course may be ...
2
votes
3answers
110 views

Books to use for iOS App Development

I'm exploring iOS App Development as an elective for students, and in perusing Apple's iBooks on the subject, I see two similar books: App Development with Swift and Intro to App Development with ...
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 ...
8
votes
2answers
100 views

Does/should a CS education include information about responsible use of human subjects in research

We had a question over at academia.se about what responsibility a PhD supervisor has for teaching students about the use of human subjects in research. In some fields it is obvious that a research ...
8
votes
3answers
175 views

How to teach algorithms: implementation or application?

One unit of CS50 AP's curriculum focuses on three main sorting algorithms: bubble sort, selection sort, and insertion sort. There is also discussion of something more efficient like merge sort. One ...
7
votes
3answers
174 views

Teaching syntactic sugar

When I show my code to students I tutor, they ask about "all those things in my code", which refers (quite vaguely) to things such as shortened ifs, post\...
7
votes
5answers
285 views

Teaching high-level versus low-level concepts

In creating a general introductory course on computers or computing (programming and/or CS), does one mostly present high level concepts (recursion, computational complexity, concurrency, etc.), ...
5
votes
4answers
151 views

Why would mutation be considered by some as a difficult concept to grasp?

Why do some instructors delay teaching mutation due to considering it to be a more difficult concept? (than functional or recursive concepts, etc.) It is very likely that, back in the 8-bit PC days, ...
15
votes
6answers
2k views

Order to Teach Topics in an Intro Programming Class

This is a question for those of you who have an intro class before AP Computer Science (or maybe even just an intro class). What order do you teach the topics in your intro class? I start with if ...
7
votes
2answers
162 views

Placement of App Inventor in high school CS curriculum

Over the past couple days I've had my first opportunity to dive into App Inventor. It has quite frankly blown my mind. I had always (mistakenly) grouped it with Scratch, Snap!, etc. as "just another ...
6
votes
3answers
342 views

Is SICP appropriate for an advanced high school CS course?

One of the most influential texts in computer science is Structure and Interpretation of Computer Programs. Before changing to a Python-based approach, MIT used this book for their introductory ...
5
votes
1answer
71 views

Learning in a developing field

I'm reading quite a bit about quantum computing, especially optical quantum computing. Part of the problem is even the all-encompassing bible of quantum computing (Nielsen and Chuang, Quantum ...
10
votes
4answers
645 views

What would be reasonable to include in an Introduction to AI class for a 7th-8th grade after school program?

The class meets just 8 times for 2.5 hours weekly, aimed at 7-8th graders with very basic programming skills. Possibilities off the top of my head: computer learning (neural nets and/or genetic ...
3
votes
2answers
123 views

Should Java Static space and Memory Model be a part of AP CS

Disclaimer: I am teaching in Canada and therefore I am unfamiliar with the American AP CS A and AP CS P curricula that others may have talked about. In my school board at least, it is still very grey ...
13
votes
4answers
458 views

The impact of switching to Java 10

Java 9 and 10 were both released recently -- Java 9 was released on Sep. 21st, 2017 and Java 10 was released on Mar. 21st 2018. These two releases contain some very big changes: Java becomes modular ...
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. ...
13
votes
6answers
442 views

How should educators ensure their curriculum remains relevant over time?

I'm sure we can agree that there are some parts of theoretical CS that are unlikely to change - topics such as computation theory (Turing machines, automata) will be useful and applicable for many ...
3
votes
4answers
180 views

How to integrate CS when learning about DNA/RNA/protein

I'm looking for activities that can integrate computer science into lessons about DNA, RNA, and proteins in a middle school (ages 12 to 14) science class. Our school is using the NGSS and CSTA ...
2
votes
2answers
101 views

What intro CS coursework is most useful for life science students?

My college requires students earning a bachelor's of science (BS) degree to take a CS course. Currently, they take the same course as CS majors: a typical Java 1 course. What would be a more useful ...
9
votes
3answers
543 views

How to supplement Khan Academy

First: I'm a coder, not a teacher. That said, I led a 4-session "Coding for Teens" class at a local library this month using Khan Academy (KA). I'm contemplating scheduling another series maybe in ...
-4
votes
2answers
776 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, ...