A good final high school AP computer science programming project?

11,465

Solution 1

An IRC app probably would actually teach you several new things, most of which would be helpful later on, like standards, specs, networking, threading, etc. but it would take a lot more than a month.

What language(s) do you know now? If you know Java, and know how to do a GUI, then you could try writing a game. Tic-tac-toe would be fairly simple, you could do it in a month, and, to spice it up, have an AI play against you, or have human vs. human, a choice between the two.

That way, you'd learn about different data structures, enforcing game rules, at least some optimization, and, if done right, creating your own API, allowing a human to control via one set of input (the GUI) and the AI via another (decision making, no GUI)

Solution 2

I think that the most "complete" kind of software you can make, and learn a lot, is a game. Games use a lot of computer science areas, like network, storage, database, graphics, threads, math, physics, AI and so on. Even a simple network game will require you to cover many areas, so I think it's worth trying it.

Solution 3

Here's a bit of a zany one, but who knows: go functional! Maybe take something like Haskell and do up a quick project, maybe an interpreter for a simple language.

There are numerous tutorials and books online. Write Yourself a Scheme in 48 Hours is pretty efficient. Combine that with some lessons from Real World Haskell and I don't think learning an entirely new programming paradigm AND getting a useful program out of it in one month is impossible.

Advantages here? One, you'll learn a totally new way of programming, the functional style. A lot of advocates say it will really open your mind to new programming ideas, and I think Haskell definitely opened my eyes to some new concepts. Two, you'll learn a lot about lexing and parsing, and the general first steps into how a computer language works. Three, come on, how cool of a project is that! You write your own language and interpreter for it!

Share:
11,465
zamN
Author by

zamN

Updated on June 05, 2022

Comments

  • zamN
    zamN almost 2 years

    This question might seem very specific but I am in need of some ideas for a project to do for my last month or so in my AP Computer Science class. I've been looking at some college final ideas and a lot of them just seem plain boring. At first I thought about writing a IRC client in JAVA but I wouldn't really be learning anything "new" that would help me in the future. Then I thought about doing IPhone/touch apps (I don't have an adroid phone and I can easily get my hands on an itouch) but I would need ideas to make apps for that.

    I want to do something that is going to feel non trivial and need some explanation but will also help me in the long run learning new concepts in computer science. If you guys could help out I would greatly appreciate it. I really only have a month to do this project so try to keep the project inside of that range. Also, I don't mind learning new languages.

    Thanks :)

    Edit: My main programming language is JAVA since I've been using it for the past year and a half. I also know C++ (very little) and PHP (fairly well).