Go to Post Remember, let function drive design, not the other way around. - Tom Bottiglieri [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 05-10-2014, 17:52
yash101 yash101 is offline
Curiosity | I have too much of it!
AKA: null
no team
 
Join Date: Oct 2012
Rookie Year: 2012
Location: devnull
Posts: 1,191
yash101 is an unknown quantity at this point
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   Spotlight this post!  
Unread 05-10-2014, 17:54
Jay O'Donnell's Avatar
Jay O'Donnell Jay O'Donnell is offline
Division by Pirates
FRC #0229 (Division by Zero)
Team Role: Mentor
 
Join Date: Apr 2012
Rookie Year: 2012
Location: Potsdam, NY/Londonderry, NH
Posts: 1,341
Jay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond reputeJay O'Donnell has a reputation beyond repute
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.
__________________
Student on Team 1058 (2012-2015)
Mentor on Team 229 (2016-Present)
Writer for Blue Alliance Blog
  #3   Spotlight this post!  
Unread 05-10-2014, 18:06
yash101 yash101 is offline
Curiosity | I have too much of it!
AKA: null
no team
 
Join Date: Oct 2012
Rookie Year: 2012
Location: devnull
Posts: 1,191
yash101 is an unknown quantity at this point
Re: A Coding Club

Quote:
Originally Posted by Jay O'Donnell View Post
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.
I do have some goals for them, actually. My teacher has asked me to try to teach middle-schoolers programming, so as these students progress at learning how to code, they will start tutoring programming to those who need help. Many of these students also have a great chance of joining our FRC team next year, adding to our programming team!

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   Spotlight this post!  
Unread 05-10-2014, 18:12
nandeeka's Avatar
nandeeka nandeeka is offline
Registered User
FRC #1868
Team Role: Programmer
 
Join Date: May 2014
Rookie Year: 2013
Location: United States
Posts: 53
nandeeka is on a distinguished road
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.
  1. Everyone sits in a circle. The first person says their name with an adjective that starts with the same letter. The second person reintroduces the first person and then says his/her name with a different adjective, and so on.
    For example:
    Person 1: "Hi, my name is Nice Nandeeka."
    Everyone: "Hi Nice Nandeeka."
    Person 2: "Hi, my name is Amazing Alisha, and this is Nice Nandeeka."
    Everyone: "Hi Amazing Alisha."
    Person 3: "Hi, my name is Silly Sarah, and this is Amazing Alisha and Nice Nandeeka."
    Everyone: "Hi Silly Sarah."
    ...and so on.
  2. Everyone stands in a circle with their places marked (with chairs, shoes, water bottles, etc) except one person who stands in the center. They introduce themselves and say something they enjoy. Everyone else who also enjoys that thing has to move to a new spot. Since there is one less spot than person, someone else is in the middle and the process repeats.
    For example:
    Person 1: "Hi, my name is Nandeeka and I like programming."
    Everyone who also enjoys programming switches places and Sarah ends up in the middle.
    Person 2: "Hi, my name is Sarah and I like to do math."
    Everyone who also enjoys math moves to a different place and someone else ends up in the middle.
    ... and so on.

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   Spotlight this post!  
Unread 05-10-2014, 19:11
Dkt01's Avatar
Dkt01 Dkt01 is offline
Programming Mentor
AKA: David
FRC #1756 (Argos)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Peoria, Il
Posts: 145
Dkt01 will become famous soon enough
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   Spotlight this post!  
Unread 05-10-2014, 19:25
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,748
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
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   Spotlight this post!  
Unread 05-10-2014, 21:30
DonRotolo's Avatar
DonRotolo DonRotolo is offline
Back to humble
FRC #0832
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Atlanta GA
Posts: 6,979
DonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond repute
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.
__________________

I am N2IRZ - What's your callsign?
  #8   Spotlight this post!  
Unread 06-10-2014, 00:10
yash101 yash101 is offline
Curiosity | I have too much of it!
AKA: null
no team
 
Join Date: Oct 2012
Rookie Year: 2012
Location: devnull
Posts: 1,191
yash101 is an unknown quantity at this point
Re: A Coding Club

Quote:
Originally Posted by DonRotolo View Post
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.
I will show them the "Hello World" application in plain C (printf) because it is much simpler than I/O streams in this concept.

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   Spotlight this post!  
Unread 06-10-2014, 00:36
EricH's Avatar
EricH EricH is offline
New year, new team
FRC #1197 (Torbots)
Team Role: Engineer
 
Join Date: Jan 2005
Rookie Year: 2003
Location: SoCal
Posts: 19,726
EricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond reputeEricH has a reputation beyond repute
Re: A Coding Club

Quote:
Originally Posted by yash101 View Post
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
Oh? Without even knowing what OpenGL is, I've coded a game. In C++. Without using very much math at all.

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.
__________________
Past teams:
2003-2007: FRC0330 BeachBots
2008: FRC1135 Shmoebotics
2012: FRC4046 Schroedinger's Dragons

"Rockets are tricky..."--Elon Musk

  #10   Spotlight this post!  
Unread 06-10-2014, 01:16
yash101 yash101 is offline
Curiosity | I have too much of it!
AKA: null
no team
 
Join Date: Oct 2012
Rookie Year: 2012
Location: devnull
Posts: 1,191
yash101 is an unknown quantity at this point
Re: A Coding Club

Quote:
Originally Posted by EricH View Post
Oh? Without even knowing what OpenGL is, I've coded a game. In C++. Without using very much math at all.

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.
I have written a couple games without OpenGL. However, they were crappy
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   Spotlight this post!  
Unread 06-10-2014, 01:26
cjl2625's Avatar
cjl2625 cjl2625 is offline
apel py
AKA: Cory Lynch
FRC #2067 (Apple Pi)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2013
Location: Guilford, CT
Posts: 412
cjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to beholdcjl2625 is a splendid one to behold
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.
__________________
Head Programmer / Driver
  #12   Spotlight this post!  
Unread 06-10-2014, 01:52
yash101 yash101 is offline
Curiosity | I have too much of it!
AKA: null
no team
 
Join Date: Oct 2012
Rookie Year: 2012
Location: devnull
Posts: 1,191
yash101 is an unknown quantity at this point
Re: A Coding Club

Quote:
Originally Posted by cjl2625 View Post
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.
I guess you could try by getting an application ready to deploy, and then use it to prove to the school how there is nothing wrong with it. I can only see that it can start raising money. There's nothing wrong with that, at least if the school rules are followed.

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   Spotlight this post!  
Unread 06-10-2014, 06:53
vladtheimpaled's Avatar
vladtheimpaled vladtheimpaled is offline
Registered User
FRC #0810 (The Mechanical Bulls)
Team Role: Electrical
 
Join Date: Mar 2014
Rookie Year: 2014
Location: smithown
Posts: 40
vladtheimpaled is an unknown quantity at this point
Wink Re: A Coding Club

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   Spotlight this post!  
Unread 06-10-2014, 14:40
faust1706's Avatar
faust1706 faust1706 is offline
Registered User
FRC #1706 (Ratchet Rockers)
Team Role: College Student
 
Join Date: Apr 2012
Rookie Year: 2011
Location: St Louis
Posts: 498
faust1706 is infamous around these partsfaust1706 is infamous around these parts
Re: A Coding Club

Quote:
Originally Posted by vladtheimpaled View Post
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.
That's a misconception I do not enjoy clearing up about people who program. That we can "hack" anything at the flick of a finger. Most the time the term "hacking" is misused anyways, but people don't want to say "network penetration." Yeah, once you know what you're doing in Kali, it isn't that hard to get into networks or crack wifi passwords.

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.
__________________
"You're a gentleman," they used to say to him. "You shouldn't have gone murdering people with a hatchet; that's no occupation for a gentleman."
  #15   Spotlight this post!  
Unread 06-10-2014, 14:46
markmcgary's Avatar
markmcgary markmcgary is online now
Software Mentor
FRC #4322 (Clockwork Oranges)
Team Role: Mentor
 
Join Date: Feb 2012
Rookie Year: 2012
Location: Fullerton, CA
Posts: 170
markmcgary is just really nicemarkmcgary is just really nicemarkmcgary is just really nicemarkmcgary is just really nicemarkmcgary is just really nice
Re: A Coding Club

Here is an idea for an activity for a coding club.

Operation: Code Clash
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 17:38.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi