I’m looking for some feedback. I’ve been working on the idea of creating and sharing some computer science related curriculum units. Some might be fairly comprehensive and some, well, let’s call them supplemental resources. The idea is to provide some helpful units that a teacher could incorporate into an existing or planned course without having to do all the prep themselves. It would be as product/company neutral as I can make it too.
I’m looking for feedback on the idea with emphasis on are these the right units? Are these the right things to include as supporting resources? Would people use this sort of thing? And anything else you may want to add.
What might be in each packet?
Under topics I’m thinking of a couple of groups of ideas to cover.
I’d like to find ways to replace just reading a chapter in a book for example. Try to make it interesting and relevant. For several of them I am thinking of what I might call a case study to serve as a discussion starter. Target audience? Early high school or late middle school. Perhaps in an introduction to computing course, a basic programming course, or a survey of technology course.
"product/company neutral" and powerpoint in the same sentence? ;)
I work with the tools I have. :-) I can create a PDF of the deck if people want.
Listening to the problem you are trying to solve "replacing reading a chapter in a textbook" and comparing it to the materials you are talking about developing.. My first question is: Is this meant to be self explored material on the part of the student? or lecture based material (or instructional material) for the teacher?
I'll keep thinking about this but, what about also adding some kind of interactive simulation for understanding? (where there is a problem to solve, or equilibrium to be reached?)
Also, check out Dan Garcia's CS Illustrated http://csillustrated.berkeley.edu/ there are some cool things there that may be good for your MS audience.
Reading through this, it looks really cool! I do have some feedback!
*Include a "big player" in the field (of whatever topic). You might want to include a short bio and a list of their contributions. That way there's a face that students might be able to relate to. It might be inspiring to see what others have done and it makes possible role models (of sorts) very visible. When dealing with technology, it's easy for me to forget there are people behind the tech when I look at a computer screen all day!
*I would also include a section about relevance for some (perhaps each) topic. How is this relevant to their use of technology? Where do they see this everyday; real world application?
*Homework and in-class exercises are great to include to reinforce topics! Is there any chance of including some optional projects for some topics if a student want to delve deeper into the subject? For the projects you could rate them on difficulty if it's an intro course because a student might just a little more information about programming. I saved most of my handouts in school and having some simple projects may be a great way for a student to become acquainted or re-acquainted with technology/programming.
Do keep in mind that my nearest education experience has been college, so some of this feedback might not be relevant to your audience. I figure since college has basic programming courses as well, there might be some relevance for college students.
Have a great day,
Does anyone know if there are many learning objects on SCORM servers? I'm wondering how much of these "nuggets of computing education" have already been created and are floating around on the Internet. I know that CSTA has resources on Ensemble. I don't know how many of these are SCORM-compliant.
I would recommend including a section on crypto. Assuming only 8th grade algebra, you can start with private-key and go all the way through RSA. And it has the added bonus of demonstrating a real-world application of their math classes.
A wonderful analogy I've found for teaching public-key encryption is a phonebook. To encrypt a letter, you pick a random person whose last name begins with that letter, and write down their phone number. The private key is then represented by a reverse phonebook.
I would include the concepts of data structures and algorithms. Not sure if these should be separate units, or integrated into the units you already have.
For younger kids, have fun with puzzles and ways to solve fun problems (on and off the computer)! For older kids, maybe get into high-level discussion of why one algorithm is more efficient than another. If you include Jeremy's ideas on encryption, you can discuss how long it would take for a brute-force guessing algorithm to break a code.
It appears your topics are dancing around the need to commit to a particular language or platform. This is probably a good thing. But at a later stage, you may add supplemental activities that require coding, but you can include versions for different languages and platforms and still remain somewhat neutral.
Overall, this effort is a great idea, for three reasons:
(1) Today's high school CS courses are too programming-centric, and units like yours will do a good job of rounding out the curriculum.
(2) Activities like these are welcoming for a beginning CS student -- it connects the subject to things we already know, like puzzles and the technology we're already using in our lives. Much less intimidating than throwing code in front of their faces for the first time.
(3) With the College Board reducing its support for CS, there's a special opportunity right now for everyone to re-evaluate what's being taught throughout K-12 CS, and I think people and schools are more open to new ideas like these.
An ethics lesson seem necessary these days. A little about copywrites, etc. Be careful it does not go from reading a book to reading a Powerpoint. Building a course like this requires some infrastructure, i.e. old computers to disassemble (and hopefully re-assemble), mini-networks to build and test, software to demonstrate gates on (I have seen some neat games that do this, too bad Rocky's Boots has not been rewritten for modern OS's), etc. One difficulty will be writing/assembling this for different levels; elementary, junior high, high school, college intro. Each higher level can assume some knowledge the other, lower levels may not have. If you want help I would love to get involved. I have been trying to get the time to write something like this for years but this damn job gets in the way.
A couple essential components that I would like to see: 1. Problem Solving with FlowCharts. 2. Object Oriented "Thinking" & Design. (Instill object oriented thinking as soon as possible)...
And I would like to see a 'relevant' programming project for *each* high level subject with a direct correlation.
Finally, because a majority of these topics can be very dry...the projects need to be created around making it fun, relevant, & current for the pre-teen\teen.
We are currently trying to work something like this out in New Zealand. see http://dtg.tki.org.nz
I am sure this list would be useful. Some feedback...
Each of these units can be an entire course in itself, so it will be interesting to determine the level of detail you want to go into for each of them.
THere are several open courseware resources available on the net which you may be able to build upon. Many of these contain videos (which in my opinion are often very useful).
I have aggregated some such open courses. This particular course ("Understanding Computers and the Internet") from Harvard may be useful to you. I have aggregated the course videos at: http://www.adaptivelearningonline.net/courses/course/show/UCATI