Slashdot Mirror


Ask Slashdot: Good Introductory SW Engineering Projects? (HS Level)

New submitter mtapman writes: I'm looking for suggestions on introductory software engineering projects for a high school level student. Assume the student can do basic math (up through Algebra I or Statistics I) but is new to logic and computer science. Each project should take no more than four hours to complete including research, coding, and testing. The intent is to introduce the student to software engineering (and computer science) through practical and fun examples. Classic CS problems are welcome. One of the key criteria is available research/reference material to allow the student to make progress with 30-60 minutes of online research.

Some ideas that came to my mind (not necessarily good ones) are: (1) pick a sorting algorithm and sort a list of ten words alphabetically, (2) write a program to convert characters from lower to upper case, (3) write a program to divide two numbers in two different programming languages and compare the results to determine the differences between the languages.

6 of 140 comments (clear)

  1. 4 in a row by behrooz0az · · Score: 3, Insightful

    It's a simple board game that can be done in less than an hour if prapared for, of course they can do a lot of extra if they got the talent/time.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion. -- Spazmania (174582)
  2. Here's one by Anonymous Coward · · Score: 2, Insightful

    How about https://projecteuler.net/? They have a ton of problems.

  3. Don't reinvent the wheel by Etherwalk · · Score: 5, Insightful

    Don't reinvent the wheel. Look for teacher forums where you'll find CS teachers who have found certain exercises are really great teaching exercises. Call other CS teachers at peer schools or schools that are a little better than yours. (You can also go to really great schools, but depending on where you're teaching may have to simplify a bit). Email teacher lists.

    The examples most slashdotters think of may be good, but haven't been field-tested in the same way.

    1. Re:Don't reinvent the wheel by 0100010001010011 · · Score: 3, Insightful

      Software engineers should not just batch up black boxes they don't understand.

      And if they want to become software engineers they should go to college. This should expose a broad spectrum of students to programming. I absolutely treat printf as a blackbox. I trust its output, I trust that the authors of the black box did their job. But if I spent my career reinventing BLAS I'd never get any work done.

      I say start highlevel to appeal to a broad number of students and then if the rabbit hole they want to go down is CS, then they can learn how the blackboxes work.

  4. Software eng has piss all to do with comp sci by Zenin · · Score: 2, Insightful

    You don't go into an intro woodshop class and hand the students physics exercises. Why would you intro computer engineering by throwing dry computer science at them? Are you trying to chase good kids away from computing professions??

    The biggest mistake educators make with computers has been thinking they have piss all to do with math or science. Sure, at a fundamental level they aren't about anything else. But at a fundamental level my morning omelet is all about particle physics, so yah. :/

    The reality is day to day software engineering has massively more in common with shop classes and "maker skills" than it ever does with math or "science". Just like most machinists are just trying to cut and weld steel into things rather than invent a new alloy, most software engineers are just trying to cut and paste code into new program shapes rather than invent a slightly more efficient sort algorithm. Sure, there's a teeny, tiny minority of egg heads doing amazing work on graphic card drivers to make my FPS better in Fallout 4, and I'm very grateful we have them, but the other 99.89% of programming in the world isn't anything so deep.

    If you want to jump start kids on software engineering, buy a few cheap Arduinos, LEDs, maybe a few servos, and go nuts. The first for loop that makes an LED blink or a servo wave and they'll be hooked for life...not to mention learn more about actual software engineering then you'd ever have done with the comp sci/math tactic.

    --
    My /. uid is better then your /. uid
  5. Neither science nor engineering by Anonymous Coward · · Score: 4, Insightful

    You're right, this has nothing to do with computer science. But it's not software engineering either, merely programming. Just like making a birdhouse in the woodshop is neither physics nor mechanical engineering, but merely woodwork.