Jump to content
  • Advertisement
Sign in to follow this  
swiftcoder

Teaching programming: examples

This topic is 2608 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

[size="1"]N.B. Teaching-realted questions possibly better in For Beginners?

I am teaching an introductory class in web programming to a room full of Liberal Arts majors, and I'm running short of ideas for small programs that are both simple enough to demonstrate programming concepts, and also have obvious utility (to a non-Computer Scientist). Were these all CompSci majors, I would be willing to throw out a fair number of "pointless" exercises - generating a fibonacci sequence, finding prime numbers, that sort of thing. But given that the average level of maths in the class is (dimly remembered) high school algebra, and the interest in maths is even lower... I need programs that are a little more concrete.

So far the examples I have used are a tip calculator (to learn input, output, expressions and variables), and form validation (to learn flow control and logical operations). I would love it if any of you were willing to throw some other examples into the ring to help me brainstorm - small programs that do something meaningful, without a whole lot of domain-specific knowledge (i.e. maths)?

Share this post


Link to post
Share on other sites
Advertisement
Not very web orientated, except that the base text could come via a form, but how about a Markov chain gibberish generator?

EDIT: do the examples really have to be web-oriented, or are you just leveraging the browser as an easy platform? Actually, are we talking back-end or front-end programming, or both?

Share this post


Link to post
Share on other sites
Trivial
  • Number guessing game
  • Random content rotator... think of like an ad rotator but not as boring ;-)

    Data-backed
    • To-do list/shopping list
    • Basic appointment calendar
    • Web bookmark/link collector
    • Guestbook type feature for a web page
    • "My current mood" tracker

Share this post


Link to post
Share on other sites

EDIT: do the examples really have to be web-oriented, or are you just leveraging the browser as an easy platform? Actually, are we talking back-end or front-end programming, or both?

Browser primarily as a platform, although the hope is that they will pass the course with enough of a background to at least hack around with web technologies. They started off with HTML and CSS, and now JavaScript to teach actual programming.

[size="1"]In retrospect, 'web as a platform' is a crappy choice, IMO. So much ancillary cruft to learn before you can get to the actual programming.

Not very web orientated, except that the base text could come via a form, but how about a Markov chain gibberish generator?[/quote]
Thanks, that's heavier of theoretical background than I wanted to go, but towards the end of the semester perhaps.


Trivial
  • Number guessing game
  • Random content rotator... think of like an ad rotator but not as boring ;-)

Nice!

Data-backed
  • To-do list/shopping list
  • Basic appointment calendar
  • Web bookmark/link collector
  • Guestbook type feature for a web page
  • "My current mood" tracker[/quote]
    JavaScript as a platform slightly screws me in that respect - data-backed is a little tricky without introducing something server-side (i.e. PHP/MySQL).

Share this post


Link to post
Share on other sites
I am teaching an introductory class in web programming[/quote]

A) How to install WordPress plugin
B) Heuristic approach to 50k node cluster load balancing

Both are web programming. Yet they are not alike. What is the goal of this course?

My guess would be that teaching the hard-core mathsy stuff as theory (aka HTML tags) would serve as introduction, followed by jQuery image carousel tweaking, using some nice Flickr images.

Anything more and you end up with more than can be casually taught.

Share this post


Link to post
Share on other sites
I'm having a hard time thinking of stuff that isn't games :-)

Would that kind of thing be interesting to your audience, do you think? Or what sort of material would they find most stimulating? What has utility to one person might be useless to the next guy, so it's hard to say (at least for me).


Then again, I don't hang out with very many liberal arts majors...

Share this post


Link to post
Share on other sites


Then again, I don't hang out with very many liberal arts majors...


You don't buy coffee at Starbucks? :P

PS: I'm horrible...

Share this post


Link to post
Share on other sites
A password generator (input desired length, output mix of numbers, upper case letters, and lower case letters) was a fun little project for me.

Share this post


Link to post
Share on other sites
The real fun of web programming is when you actually use web services and play around with the data. Showing text fields with buttons and outputting a bunch of <p>'s aren't that particularly interesting or practically useful.

Is it legally possible for you to get data from stock market, facebook, twitters, foursquare checkins? You teach your student how to signup, get the API key, and so on. Then call the external web services to deliver content to your homepage.

Share this post


Link to post
Share on other sites

The real fun of web programming is when you actually use web services and play around with the data. Showing text fields with buttons and outputting a bunch of <p>'s aren't that particularly interesting or practically useful.

Is it legally possible for you to get data from stock market, facebook, twitters, foursquare checkins? You teach your student how to signup, get the API key, and so on. Then call the external web services to deliver content to your homepage.


I'd go for something like this. The lib-arts majors know various popular sites and understanding how to integrate with them would be a boon for their (assumed) non-programming careers.

Another trick would be to assume they've all got smart phones and show regular vs mobile pages. CS majors need to learn problem solving. Non-CS majors need to learn that there is no magic black box.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!