|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
A Coding Club
This year, I decided to launch a program at my school, the Coding Club.
My goal for this club is to create an environment where students can use their creativity, and create whatever they want. My goal is to ensure that the students are inclined to teaming up and helping each other out. Most of the enrolled students do not know programming. During the first meeting, we decided, through a poll, that we would like to focus on C++ and move onto Java, Python, etc. I am almost done getting the equipment set up. We will be using Linux in a virtual machine for portability and to isolate the code from the school computers to prevent us from getting in trouble for breaking something. I would like to have some sort of short and fun icebreaker at the beginning of each meeting. Please let me know of any good icebreakers, and and feedback in general about this program. |
|
#2
|
||||
|
||||
|
Re: A Coding Club
I think you'll find that youll get more interest from students if you give them more of a goal than to just create whatever they want. A project that you can all work on together gives them motivation to work hard.
|
|
#3
|
||||
|
||||
|
Re: A Coding Club
Quote:
Also, this club is built into a program that our school runs, the Center of Research in Engineering, Science and Technology. These students will be getting a lot of ideas for automation and to improve technology, which they can bring back to this club and work on in groups. |
|
#4
|
||||
|
||||
|
Re: A Coding Club
I ran a programming camp for middle school students this summer. We played a couple of different ice breakers with them.
We also played games like Human Knot, Pictionary, Hangman, Charades, and Telephone as team building activities. Please let me know if you have any other questions. |
|
#5
|
||||
|
||||
|
Re: A Coding Club
I've found "never have I ever" a good icebreaker game. Similar to #2 on nandeeka's list, everyone but one person is in the circle. The person in the middle says something they've never done such as "Never have I ever travelled outside the United States". Everyone who has done that thing the middle person hasn't done (such as everyone who has travelled outside the US in my example) moves to a new spot. This continues until you want to stop. Everyone gets a chance to see what they have in common with others, and they get to be creative trying to make everyone move at the same time.
|
|
#6
|
|||
|
|||
|
Re: A Coding Club
In my experience, the key is to find the right combination of openness and guidance. If you give too little guidance, some/many of the students will not find the forest for the trees. Too much guidance, and it can start to resemble homework.
I think there are three topics that many people find motivating -- graphics, games, and robots. If you can rotate through these topics, I think you can keep people motivated and introduce programming and other STEM concepts quite easily. The other thing to keep in mind is the length of challenge before there is some form of reward or feedback given. For smaller children, this needs to be every few minutes. If three year olds are stacking blocks, they want to have someone clap and smile about their accomplishment every five minutes or less. For kids in elementary school, they want someone to comment on how good their coloring book looks every ten or fifteen minutes. I'm not a psychologist, but for high school students, I'd start with projects that take an hour or less and lengthen them as people's motivation seems up to the task. STEMy sorts of things I've done with teachers involve using a microphone and FFT function to discover what your cell phone's tones are. Once you understand the system, you can build an autodialer or send codes to one another -- for background, look up DTMF. Another one we did involved taping an accelerometer to your cell phone and having the alarm go off so that it buzzed. At what frequency does it buzz? In which axes? Are all cell phones the same? There are quite a few similar challenges, mostly built around NXT and LEGO sensors on the TUFTs CEEO website. For game challenges, pick a relatively simple game -- something like angry birds, but perhaps with your own theme. Maybe you have pirate ships lobbing parrots at each other, or Roman army legions flinging farm animals. These simple games can them be made multiplayer and expose networking, can be given some AI so you can play against the computer, etc. The other day I posted one I did with my kids over the summer. It was a virtual Spirograph. Figure out the math and choose a small step size so that linear approximations make smooth curves. We added multiple pens at once, decided to show the wheels, had a button for screen shots, etc. Greg McKaskle |
|
#7
|
|||||
|
|||||
|
Re: A Coding Club
I agree with project-based learning. It is the most effective.
The very first project, just so everyone understands the build/parse/compile/deploy/run cycle (or whatever it is called) would be to display "Hello World" on the screen. I think every one of us has done this once. Also, I applaud your decision to start with C++. Once you understand a language, the rest come easier. C++ is darn near universal. Also consider touching on plain old C (or BASIC?), just to see a non OOP language and to know such things exist. |
|
#8
|
||||
|
||||
|
Re: A Coding Club
Quote:
I will go through the C++ basics before diving too deep. Using streams actually is quite complex in the background. Most of the middle schoolers that I am working with already have ideas in mind with what they want to do. They range from simple problems like writing a disabled student aid program, up to programs, capable of calculating the height of an object by taking a picture of it with a phone (seems impossible because you only have the angles of the triangle, no sides)! I do not think I will dive into game design too quickly because that requires A) A lot of math B) OpenGL and it's alternatives require a ton of pointers and stuff that I am not very fluent with |
|
#9
|
|||||
|
|||||
|
Re: A Coding Club
Quote:
Admittedly, writing the code for Yahtzee in a text window isn't as nice-looking as something like Solitaire, or something similar. But coding a game (or a vote-counting program, or something similar) can actually be a fairly simple exercise. In my introductory (OK, college-level introductory) programming class, we had three major class projects and some labs. I've mentioned two of the three major projects above; I'll have to dig out the third one if I can find some time and the files. |
|
#10
|
||||
|
||||
|
Re: A Coding Club
Quote:
Brick Breaker with one level Yahtzee, one computer, multiple players rotating. Comes with bugs too! ![]() A couple more crappy games. Also, all my games were written in Java, using the ACM library, so it is quite pointless to use those in class. I guess that maybe I could switch back to Windows and get used to it's display manager. I am learning a library, DLib, which comes with cross-platform display tools, like a widget-based window system. It is quite simple to use this in conjunction with OpenCV, so maybe I may dive into these much deeper. As good as HighGUI is, it lacks many essential components, such as threading to prevent your display from freezing. It is also not easy to implement a button or similar. I still haven't been able to figure out QT. It changed significantly with QT5 so I cannot find any of the headers used by the tutorials I go by! It would be much more in my plate if I were teaching what I am learning. I have experienced that where I volunteer, where I had two training sessions and I was training someone else! I do not want to do the same thing with these middle schoolers and have them develop a scorn for coding! OpenCV: I just may begin with OpenCV because it isn't TOO hard, but allows you to do extremely neat things! |
|
#11
|
||||
|
||||
|
Re: A Coding Club
I too have started a coding club at my school this year. Our goal is to make software and apps, which will be worked on as a team using Git, and then we will publish them.
On our team, it's kind of a prerequisite that you know some Java I'm order to be of help with the code. I don't suspect that we'll be teaching the basics of java, but we'll talk about the more advanced aspects of software development, like for android apps. However, we're having some trouble convincing the school to let us publish the software... I dont fully understand their reasoning, but I think they're afraid of offensive content and such that could poorly reflect on the school. Quite absurd in my opinion. Anyway, icebreakers.... I can't really help you with that; we didn't do any such thing at the first meeting. We just went through an introductory presentation about the team, collected information about the new members (8 total including myself), and then went right to brainstorming ideas for our first simple project. Took about an hour overall. |
|
#12
|
||||
|
||||
|
Re: A Coding Club
Quote:
If I were to put a prerequisite, there would be almost no one in the club. Last meeting, we successfully installed Linux. It was the first time for most of the students! |
|
#13
|
||||
|
||||
|
I wanted to create a coding club in my school but my school would never allow because they're afraid of it creating new hackers. One of the hackers just graduated last year. The last thing they want is a new one to troll IT.
![]() |
|
#14
|
||||
|
||||
|
Re: A Coding Club
Quote:
If anything, you could maybe have a form all the students in the club have to sign to be in it that they will not cause damage to property. But it's not like you'd be teaching them Kali linux. At best you'd be able to make a robot follow a line with a group of people who have never programmed before in their life. |
|
#15
|
||||
|
||||
|
Re: A Coding Club
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|