I have a thing for elementary classrooms. While the idea of teaching the 12 and under crowd is in no way appealing, all the projects and circle time really sound fun.
Here are a few of my favorites:
This one we have used already this year. It is great for doing Octal and Hexadecimal numbers. It really gets the point across that hex and octal are a more compact way of storing large values. When you pull the cups apart you have the number written inside…I’ll try to post a picture of the Hex-Cups to make that clearer.
We already do the Analog-Binary Calculators – which my kids call Flippy-Dos
, so the cups have become Roley-Dos. And seriously – the flippy-do is the easiest
way to show twos comp for negative numbers.
This would be great for showing the sequencing of code. My beginning students have a hard time sometimes getting the ordering of the commands. This could be a fun way to demonstrate how important the order is. They could work in pars with a whiteboard and follow each other’s commands.
This project maps where a student is in their community. This is my next project for the CS Principles course. One of the my goals for the students is to understand that the Internet is a physical thing. My plan is to do these showing where they are on the Internet. They would be on the small circle in the middle – and then the structures that make up the Internet are on each of larger circles moving out.
Created by Rebecca Dovi
This year in the Intro to Programming class we are trying logic groups. This past summer Robert Luciano presented this at the UVA Tapestry workshop. He’s also written about it here. This summer he gave several example puzzles which can be found in the zip file on the Tapestry site.
The idea is you put the kids in groups and present them with various logic puzzles. Getting them off the computers and collaborating to solve puzzles helps build problem solving, which is at the core of what we do.
This is our third week with the groups and so far the kids are really enjoying it. I have seen some kids that do not normally get very active with class activities get very involved in the puzzles. We are on a block schedule – so we do it the first time I see them each week, either Monday or Tuesday.
Today’s puzzle came from this site: Brain Food It is #1, the elevator problem.
** Update – this particular puzzle stank. One kid had seen it before, and the rest of the groups got super frustrated. We’re going to try again on Wednesday with the latest edition of Bits and Bytes from the NSF. This latest issue has some great puzzles and tie ins with computer science curriculum.
Created by Rebecca Dovi
So in talking to parents and guidance counselors I occasionally get asked if a kid can jump ahead and take one of our upper lever computer science classes. My first question is always “have they programmed?” Yes, I know, programming is not the end all and be all of computer science, but for a student that wants to take the current AP Computer Science course they need to be able to code.
Sadly the answer I most often get is “yes, they know HTML”. Sigh.
For the CS Principles pilot this last year my second unit was The Internet Unplugged. We covered both the hardware side along with how to actually make a web site. Yes, I taught HTML and CSS.
So the question is – why cover HTML at all?
One of the core themes of the CS Principles course is broadening participation. So many students have had exposure to HTML, and they all use web sites. This is the interface they use to get at the information on the web. It is an immediate way to show abstraction in action.
Plus, as we transitioned to coding students were already used to the idea that formatting and exact punctuation matters. This let us focus on the tools of programming, like ifs and loops.
And of course, CS Principles is not all about programming. The Internet is one of the seven core principles, equal to programming.
So this summer I am reviewing what we did in CS Principles last year. Honestly this was one of the better units we covered. It tied into all of the big ideas and was something we referred back to the rest of the year.
On the other hand I am not crazy about how I taught HTML. It was a bit dry – too much lecture and we got a bit bogged down. I’d like to reduce this to just 4 days.
Next year I plan on trying Thimble. This is offered by Mozilla and lets you type in the HTML interactively and see what happens immediately. It also points out errors right away.
Created by Rebecca Dovi
Human Computer Interactions (4 weeks)
Topics to be addressed:
- Computers and the internet
- Models of Intelligent Behavior
- Societal impacts of computing
- Unit 1: Day 10 – Room Picture Handout
Exploring Computer Science is an exciting opportunity for ALL students to learn problem-solving skills and computational thinking. It’s an opportunity for rich cultural connections and integration with all subject-areas.
Exploring Computer Science is designed to introduce students to the breadth of the field of computer science through an exploration of engaging and accessible topics. It is designed around concepts of computing and helps students understand why tools or languages might be utilized to solve particular problems. Through engaging, collaborative lessons, students develop computational practices of developing algorithms, problem-solving and programming with real-world situations in a safe environment.
The three themes are:
- The creative nature of computing
- Technology as a tool for solving problems
- The relevance of computer science and its impact on society
Throughout the course, students will gain experience in employing the following computational practices:
- Analyze the effects of developments in computing
- Design and implement creative solutions and artifacts
- Apply abstractions and models
- Analyze their computational work and the work of others
- Communicate computational thought processes, procedures, and results to others
- Collaborate with peers on computing activities
Through inquiry-based journals and differentiated activities students develop practical communication skills. An iterative process, students will test their designs and modify as needed. Our students are creators of technology, not just users of technology. Students analyze and develop creative solutions because they are Computer Scientists NOW!
Exploring Computer Science develops today’s skills for tomorrow’s careers!
- Computational thinking
- Design process
- Web development
- Data analysis
This class meets every day throughout the year. Assessments are based on journal writing, individual participation, collaboration, and final projects.
view as pdf: Exploring Computer Science Syllabus
Exploring Computer Science is a course designed to introduce students to the breadth of the field of computer science through an exploration of engaging and accessible topics. The course is designed to focus on the conceptual ideas of computing and help students why certain tools or languages might be utilized to solve particular problems.
Sample ECS Syllabus
This past summer CodeVA partnered with Code.org trained 29 teachers across the state in the Exploring Computer Science course.
One of the trickiest things in implementing new classes is figuring out what state course number it maps to, especially since in Virginia Computer Science can sit in either the math or career and technical ed departments.
The following courses are the most common for housing the ECS course. As the state department of education handles last year’s legislation allowing computer science to count as a science credit this list may expand.
Course Mappings to Virginia Course Codes:
ECS Course Mappings for VA CTE:
ECS Course Mappings Math: