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 teach subjects. Question relating to a single lesson should NOT receive this tag.

Filter by
Sorted by
Tagged with
21 votes
8 answers
3k 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 ...
Derek Miller's user avatar
6 votes
6 answers
602 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": ...
ncmathsadist's user avatar
  • 2,319
8 votes
6 answers
564 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, ...
hotpaw2's user avatar
  • 1,895
12 votes
6 answers
528 views

Is it more effective to teach low level languages before high level ones or vice versa?

When structuring a Computer Science curriculum, which prepares students most effectively for a career in technology today? Consider the following scenarios over a student's college career: Starting ...
BrDaHa's user avatar
  • 267
4 votes
4 answers
621 views

Some real practical example to teach object-oriented concepts and programming (in python)

I have taught my high school students to write some simple python scripts, taking some ideas from "Automate the Boring Stuff with Python", e.g. changing file names in a folder to a specific ...
Qiulang 邱朗's user avatar
21 votes
12 answers
2k 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 ...
hotpaw2's user avatar
  • 1,895
11 votes
1 answer
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 ...
Ellen Spertus's user avatar
11 votes
4 answers
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 ...
James's user avatar
  • 383
7 votes
5 answers
630 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.), ...
hotpaw2's user avatar
  • 1,895
5 votes
2 answers
444 views

Introducing the MVC pattern along with JavaFX

This year I am planning to shift from teaching Swing for graphics, to teaching JavaFX. As JavaFX ideally uses the MVC design pattern, I thought it would help students understand how to use JavaFX if ...
ItamarG3's user avatar
  • 6,287
3 votes
4 answers
237 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 ...
Bennett Brown's user avatar
53 votes
11 answers
31k views

How bad is a Computer Science course that doesn't teach Design Patterns?

I'm at final year of my graduation in Computer Science in Brazil. The university that I study is one of the best in the country and my passion is for Software Engineering. It disappoints me, in ...
olegario's user avatar
  • 643
28 votes
17 answers
2k views

What program follows "hello, world"?

You've just demoed your first bit of code in whatever language you're teaching. The requisite "hello, world" has been said. The program has been compiled (or interpreted) and run. Now what? There has ...
Peter's user avatar
  • 9,092
25 votes
11 answers
7k 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 ...
Kenny Barrera's user avatar
24 votes
9 answers
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. ...
Buffy's user avatar
  • 35.7k
15 votes
7 answers
575 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 ...
Carly Buch's user avatar
14 votes
4 answers
549 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 ...
ItamarG3's user avatar
  • 6,287
13 votes
12 answers
12k views

On studying Computer Science vs. Software Engineering to become a proficient coder

I’m mostly interested in the coding aspect of the CS and SE majors curricula. And I’m trying to decide between the two. Each major has its pros and cons, and they prepare you in very different ways ...
kanayt's user avatar
  • 241
12 votes
6 answers
2k 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 ...
Aaron M. Eshbach's user avatar
12 votes
9 answers
2k views

How to teach students not to use jump statements

We all know goto is the spawn of satan. To learners though, it seems easy and quick. In simple, short program codes having a goto or two won't turn the code into unreadable spaghetti code. So students ...
vacip's user avatar
  • 1,398
10 votes
5 answers
2k views

Curriculum choice for AP Computer Science Principles

I will be student teaching an AP Computer Science Principles class next year and have run into an issue. All of the high schools around us are using the Code.org curriculum but from talking to ...
itsjtwright's user avatar
10 votes
4 answers
690 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 ...
Dave I's user avatar
  • 181
9 votes
3 answers
279 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 ...
Peter's user avatar
  • 9,092
7 votes
2 answers
243 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 ...
Peter's user avatar
  • 9,092
7 votes
5 answers
189 views

Instructional Methods for In-class Code Demos

When demoing code in class, I have tried at least three different methods of instruction: Write code live and have students type along Write code live and have students follow my logic while only I ...
Peter's user avatar
  • 9,092
6 votes
6 answers
293 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: ...
Onorio Catenacci's user avatar
6 votes
2 answers
79 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 ...
Jay's user avatar
  • 1,874
6 votes
4 answers
146 views

Supplementing Curriculum with Online Resources

One of the blessing and curses of teaching CS is the plethora of materials freely available online. MOOCs on edX and Coursera. Tutorials on Khan Academy and Codecademy. Certifications through ...
Peter's user avatar
  • 9,092
5 votes
5 answers
281 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 ...
user avatar
5 votes
1 answer
99 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 ...
Auden Young's user avatar
  • 4,684
5 votes
3 answers
337 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 ...
Erel Segal-Halevi's user avatar
4 votes
3 answers
192 views

How to teach a flipped course based on the AI MOOC?

I'd like to create a college-level AI course based on the famous AI MOOC created by Peter Norvig and Sebastian Thrun. My reasoning is that I wouldn't be able to create lectures as good as theirs, ...
Ellen Spertus's user avatar
4 votes
4 answers
197 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 ...
Ben I.'s user avatar
  • 32.6k