CS50x AP Reflections/CSFair Reflections
What is enough
when teaching Computer Science to high school students? Since having a
successful Computer Science Fair I have been asked about the experience and a
few teachers have shared concerns about their own fairs and I want to address
those topics. First, every concern mentioned to me was a concern of my own
prior to our fair. Just as teachers are expected to foresee
misconceptions prior to teaching I suppose planning for mishaps or gaps during
a presentation is just as important. I would also like to add that our Computer
Science Fair provided a platform for students to exhibit the culminating work
as a result of a course created to meet the requirements of the Computer
Science Principles AP framework. The AP
(Advanced Placement) tag as per College Board is an opportunity for high school
students to engage in college level coursework. My course Programming and Apps
adapted the course lessons and assignments from CS50x and CS50x AP.
·
When teaching computer science we approach the aspect of
programming as a tool. There are many
different programming languages and an introductory course is just that…an
introduction. Here is the issue. What is enough? This course began with understanding binary
and quickly catapulted into understanding loops, conditional statements and
procedural languages that are compiled namely C. Frankly, none of the course
problem sets were flashy. We didn’t
teach flash or any graphic arts for that matter. There were a few opportunities where via an
API we incorporated graphics but even those graphics were simple shapes. When we got into HTML and CSS we could incorporate existing photos/images and styles but even then we didn’t get into graphic arts so be OK with it not looking fancy or flashy. It is the student’s job to explain what it took to create their project. In my fair, when possible, I had two laptops
for students to showcase both the code and the user interface.
Haha! Good one! First
of all, once again, the student’s
responsibility. How I tackled this
topic though...I had students provide evidence of all they did complete and if
the actual project they intended was not complete I asked them to commit to
having something to show. Something completed. For
example, if students decide they are going to create a drone from scratch with
working motors and controlled by their phone and it’s not progressing like they
would like I suggested creating a game (mobile app or web app) that would give
facts or quiz people about what makes drones work. Even an elaborate blog post with pics and
step by step explanations of leveling and connecting motors. A simple webpage should actually suffice for
a final project in an introductory course but since these students were
ambitious enough to do more embrace it as the topic of a webpage to be
continued instead of seeing the project as unfinished.
Concern: I do not
know how to do all the things students want to do. What happens when I’m asked
a question about the project, after all this is my course?
When giving students the autonomy to choose their own final
projects it is inevitable that students would select things that may not be in
your wheelhouse. I personally struggled with this a lot. I wanted to help students with their projects
but when they chose to create a robot that required soldering and wires I had
to admit that physical computing was actually beyond the course and beyond the
knowledge I currently have. I supported them by helping post in forums or
suggesting professionals that may be able to lend advice. When students submit a pre-proposal or their
proposal for that matter don’t hesitate to let students know where your
knowledge limits lie. Don’t make the mistake I made and drain yourself at
coming up with a solution to every project.
Let students know that the project may need to morph or that they will
have to do a lot of independent work.
And when they do complete the project and it’s time for the fair, make
sure guests know that students owned those projects and questions should be
directed toward them.
Concern: Projects are
missing graphics. How ‘bout if the general public could have created something
“better” using a tool versus working from scratch?
Have you ever had those Pillsbury cookies, you know the slice
and bake kind that come out of the oven warm, and perfect and with the picture
of that princess from Frozen? You take them to a party and pretend that you
made them from scratch because, after all, you baked them. Then there is the lady that brings in the
cookies clearly made from scratch with homemade icing and a personalized touch
but not quite so perfect and definitely no Frozen character on them. Everyone knows her cookies took more time, they’ve
seen the cookies at the grocery just like yours. This doesn’t mean that people
don’t appreciate the Frozen character cookies and it doesn’t mean they don’t
taste great but people understand that the bling is bling and that doesn’t mean
the graphics make the product. Besides see above this isn’t graphics class. Educating students and adults about what
goes on behind the scenes in those drag and drop sites and that you are
teaching students to start at the bottom (lower level) is ok. And true, the graphics are cool but people
really dig the story that goes into your project so much more. Snake a
JavaScript game readily found online doesn’t look like a snake at all but
students gravitate to the challenge of the game just the same.
Concern: This is a
first. How do I know who to invite?
It’s up to you. I
know my administration wanted to hold back on the invitations. I wanted to invite other schools to our event
and was told to see how this year goes. I
personally am more of a ‘make the first one count’ kind of person. We invited family, state representatives,
students from other classes within the school, the Board of Education, and
university faculty from the colleges in our county. We even sent an invite to
the President of the United States. He said he wants everyone to
learn to code, right? I don’t think it matters
if this is your first rodeo or 10th you and your students have a
reason to be proud so invite whoever suits you.
Concern: Projects are
reproductions of already created products. How ‘bout if guest students make
fun/judge the efforts of the fair participants?
First of all, shame on those people who judge your students’
projects but then should they be judged?
Students need to feel the pressure of showcasing to the public. If students
truly put forth their best effort and demonstrate what they learned guests will
react positively. I think some of
the favorite projects at our fair were replicas of other games. i.e. Snake
mentioned above. Guests were actually
impressed that a student could recreate it with a twist. Students who have not taken a CS class are
more curious than anything about what the course is about, a course where you
get to play on computers and show off your own video game. Our experience was
that guests were not concerned with the specific details of the project but
they know they haven’t done this before themselves.
Concern: We are
limited on space. How ‘bout if too many
people attend?
See above regarding invites.
Invite what you can accommodate but really
is it possible that too many people show up to see what your students achieved
with their projects? One thing you
can do is if having an event in an entry way or cafeteria that is filling up
have some volunteer students from a different class prepared to take guests to
a temporary holding area or have an ambassador give a tour of the school. This gives time for the congestion to lift
and allow more participants in the active zone.
Concern: Some of the
projects are created in Scratch and that was our first problem set. Is this enough to show they learned the
concepts of the course? Is it OK to
allow these kinds of projects?
I allowed and even encouraged Scratch projects and MIT
AppInventor projects. Why? Both tools
allowed students to dive in to the development of the game, or app they were
creating without having to create graphics as previously discussed and without
getting caught up on syntax. Although we
were teaching the importance of syntax throughout the course I believed it to
be more important to take away the process of development and with so many
different languages that required so much different syntax knowledge I didn’t
want to be hung up on that if a student had a good idea. I felt that Scratch projects
can be in-depth projects and they were! Remember Computer Science is
understanding the development of an algorithm and design of computational
systems, not a single language.
This comment has been removed by a blog administrator.
ReplyDeleteI was very pleased to find this site.I wanted to thank you for this great read!! I definitely enjoying every little bit of it and I have you bookmarked to check out new stuff you post https://bestgamingthings.com/best-gift-list-for-gamers-2019/
ReplyDeletecomputer games
ReplyDeleteconsole games
game
game guides
game news
computer games
console games
game
game guides
game news
computer games
console games
game
game guides
game news
computer games
console games
game
game guides
game news
computer games
console games
game
game guides
game news
computer games
console games
game
game guides
game news
computer games
console games
game
game guides
game news
computer games
ReplyDeletecomputer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
computer games
Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which I need, thanks to offer such a helpful information here. Cable Universe
ReplyDeleteAs a general rule, in-constructed accessories don't play out their necessary undertakings to the normal levels. razer viper mini
ReplyDeletefor example, sound and enhanced visualizations. Computerized games are additionally described by their convenientce and boundless availability. VMake Video Editor Mod APK
ReplyDelete