OCUK programming project?

I'd be interested.
I do C++, C, Python, Java, Visual Basic, SQL, COM, ASP, VbScript, JavaScript, HTML, CSS
and basically any other language if you give me an hour or two to learn the syntax :p
Also an experienced Linux user, and with windows development (*spit*).

What are we thinking of making?
One thing I'd really really like to make if I could get the time, would be "tag n rename" for Linux!
 
Ive been using svn/trac for around 5 years so know my way around both quite well so can help with that side of things too if needed. Looks like we are getting together quite a few interested people.
 
I'm in, XHTML, css, Ajax, php, XML, flash, mysql

Also got a bit of experience on different platforms (code igniter, cms systems like typo3 drupal etc etc)

But what you thinking of doing? Seems like a tut site

I was hoping to avoid Java...

I wouldn't mind getting involved in the organisation/management side of this project, i've already created a google code group http://code.google.com/p/ocuk-dev/ - it's free, gives wiki, bug management, mailing list and change management (SVN).

At the very least people should get used to project management methods - through change management, documentation, tickets etc.

On a side note, there's a lot of young people in here...i feel old and i'm only 22!


Thanks for stepping up guys. That's really useful setting that Google code group, helps massively with code management (which I hadn't thought of at all). So lets say provisionally me (Dave M), dave-lew99 (Dave L - have you got IM mate?) and Codec (Luke) will manage the project.

First things we need to figure out are:
[A] What is it that we want to produce (project ideas)
What level do we aim it at (Beginners / Intermediate / Advanced)
[C] What language are we using (probably linked to )
 
Instead of defining which language to write the program in, could one or two people (the organisers of the whole thing) decide upon a particular app to make (try and think of something that isn't restricted to a small number of languages) and define a simple specification for it. Then the rest of us could team up and chose a language to make it in. That way we would end up with the same app written in different languages, giving everyone the opportunity to see alternate ways of making it. Maybe it could be a competition.
 
One thing I'd really really like to make if I could get the time, would be "tag n rename" for Linux!

This sounds like a great idea!

I think the idea of a dev workshop is great, but perhaps is limited only to the beginners. I'd imagine there a quite a few experienced programmers here that wouldn't really want to sit around coding Hello, World!

However, on the flip side, it needs to give beginners the opportunity to start developing cool apps.
 
Good to see this is getting a bit of interest now.

From a personal point of view I would like to do something using XNA, been meaning to learn it for a while but never got round to it.
Obviously it would limit it to Windows (I know there is mono.XNA, but not sure how well it works at present) but all the tools are available freely.

To make it work I reckon you'd need a few C# tutorials first of all to get people up to speed, anyone experienced in C#/.NET could help out with these.
If going down the XNA route these could be directed towards building a very simple game using straight C# first, such as noughts and crosses or connect 4.

Then we could start building some things in XNA.
The first project would have to be something simple, like a tetris or arkanoid clone.
You would start off very simply, e.g. implement a ball bouncing around the screen area.
Then introduce a user controlled paddle
Then collision detection between the paddle and ball.
Blocks at the top with collision detection
Point scoring etc.

If we could get that far I reckon we'd have a good chance at being able to attempt something a bit more complicated and getting some graphics guys in to help out.
 
Instead of defining which language to write the program in, could one or two people (the organisers of the whole thing) decide upon a particular app to make (try and think of something that isn't restricted to a small number of languages) and define a simple specification for it. Then the rest of us could team up and chose a language to make it in. That way we would end up with the same app written in different languages, giving everyone the opportunity to see alternate ways of making it. Maybe it could be a competition.

Good to see this is getting a bit of interest now.

From a personal point of view I would like to do something using XNA, been meaning to learn it for a while but never got round to it.
Obviously it would limit it to Windows (I know there is mono.XNA, but not sure how well it works at present) but all the tools are available freely.

To make it work I reckon you'd need a few C# tutorials first of all to get people up to speed, anyone experienced in C#/.NET could help out with these.
If going down the XNA route these could be directed towards building a very simple game using straight C# first, such as noughts and crosses or connect 4.

Then we could start building some things in XNA.
The first project would have to be something simple, like a tetris or arkanoid clone.
You would start off very simply, e.g. implement a ball bouncing around the screen area.
Then introduce a user controlled paddle
Then collision detection between the paddle and ball.
Blocks at the top with collision detection
Point scoring etc.

If we could get that far I reckon we'd have a good chance at being able to attempt something a bit more complicated and getting some graphics guys in to help out.

geuben that's a good idea - I think the choice of language is very much related to the choice of project. I'm slightly leaning towards Java, mainly because it seems to the the programing language of choice for most undergraduate courses around the country. But at the same time it can be a bit unwieldy sometimes.

I don't think we running it should choose the project I'd like to see people suggest some:D
 
Last edited:
geuben that's a good idea - I think the choice of language is very much related to the choice of project. I'm slightly leaning towards Java, mainly because it seems to the the programing language of choice for most undergraduate courses around the country. But at the same time it can be a bit unwieldy sometimes.

I don't think we running it should choose the project I'd like to see people suggestion some:D

To expand on my idea a little. If the more experienced programmers in a specific language (provided they wish to use that language) declare that their going to make the program in said language then other less experienced users who want to learn that particular language can opt to join that group.

OR

If the more experienced programmers don't feel like teaching anyone directly, they could make the app themselves (or in teams) whilst someone (or a few people) create tutorials of how to make the app in other languages. that way the beginners (to programming in general or just a specific language) can follow the tutorial through and then at the end of the allotted project time will have access to a variety of source code for the same app (given that they've just worked through and built the same app they should have a better understanding of the other language sources when they read through).

I guess the submitted apps could be judged on things like:

Meeting application specification
niceness of code
level of code commenting for beginners
etc
 
Can we use github? git is millions of times better than svn! And github is an excellent site for distributed projects, and free if you make it opensource
 
Found the thread, woohoo!

I know Java and JavaScript at a very basic level but willing to learn more, as I said in GD. This sounds like something really different and fun that I want to be part of :D
 
To expand on my idea a little. If the more experienced programmers in a specific language (provided they wish to use that language) declare that their going to make the program in said language then other less experienced users who want to learn that particular language can opt to join that group.

OR

If the more experienced programmers don't feel like teaching anyone directly, they could make the app themselves (or in teams) whilst someone (or a few people) create tutorials of how to make the app in other languages. that way the beginners (to programming in general or just a specific language) can follow the tutorial through and then at the end of the allotted project time will have access to a variety of source code for the same app (given that they've just worked through and built the same app they should have a better understanding of the other language sources when they read through).

I guess the submitted apps could be judged on things like:

Meeting application specification
niceness of code
level of code commenting for beginners
etc

We have to be careful because we don't seem to have too many experienced developers so allowing people to essentially use a language of their choice and letting beginners follow that "thread" is not really the way to go IMHO (it'd be different if we had far more developers on here. Also I don't think we should be judging anyone on their code rather we should just be encouraging good practice. In reality something like "niceness of code" could be anything.
 
We have to be careful because we don't seem to have too many experienced developers so allowing people to essentially use a language of their choice and letting beginners follow that "thread" is not really the way to go IMHO (it'd be different if we had far more developers on here. Also I don't think we should be judging anyone on their code rather we should just be encouraging good practice. In reality something like "niceness of code" could be anything.

The way I see it is, by judging peoples code against what would be considered good coding practices (kinda what I meant by niceness of code) then you will be encouraging those good practices. Also I don't just mean judge in the "D- you fail!" kind of way, more judge as it rate accordingly with appropriate highlighting of areas of the code that could be improved (constructive criticism style).
 
I might be interested depending on languages and what we would be developing.

Im a software engineer with quite a lot of experience in C#, SQL Server, XML, and networking style apps (sockets etc).
 
I might be interested, provided the following:

1. The project is sufficiently interesting. I've done so many generic websites and 'utility' programs over the years that for me to put some of my non-professional time into something it'd have to capture my imagination.

2. The overall architecture would be fairly carefully designed and controlled so it doesn't descend into collaborative chaos.

3. Some sort of version control / source control is used. I'd propose a DVCS like Git or Mercurial (particularly the latter with its better Windows support).

4. Although not a requirement, I'd probably prefer a non-.net platform as I'd like to expand my experience of Java.

I am a fairly experienced professional developer mainly doing solution architecture and some implementation. Recently I've mainly been doing middle-tier .net but I'm also a pretty decent front and back-end guy if needed.

I'd also suggest test-driven development and possibly adopting some of the elements of Agile, i.e. breaking work into small tasks within sprints / iterations. Is this overkill for a project with lots of beginners?

What's really needed is an idea of sufficient size and complexity to be able to occupy maybe 15-20 developers for a bit of time, and offer something for everyone, be it UI, DB, architecture or algorithm design. This would be larger than most 'utility' programs, I think :)

arty
 
I'll post my interest here. I know a good bit of (X)HMTL/CSS, Pascal and learning Java in uni at the moment. I'm free from the 23rd.

I think if we are going to go down the basic game route we could at least project manage it as though it where a full blown game. This would give people the opportunity to be concept artists, testers, coders, managers, animators, 3D modellers etc. This will allow people that want to be involved but don't want to programme a go at joining.

Blackvault
 
I think if we are going to go down the basic game route we could at least project manage it as though it where a full blown game. This would give people the opportunity to be concept artists, testers, coders, managers, animators, 3D modellers etc. This will allow people that want to be involved but don't want to programme a go at joining.

I actually think there's some potential in the 'OcUK game' idea for similar reasons. However, I'd urge everyone not to get too carried away and ambitious or there's little chance of pulling it off, particularly if we aren't a forum of experienced game programmers! :)

arty
 
I actually think there's some potential in the 'OcUK game' idea for similar reasons. However, I'd urge everyone not to get too carried away and ambitious or there's little chance of pulling it off, particularly if we aren't a forum of experienced game programmers! :)

arty

How about a mini-game project. All games have to use OcUK/Internet meme's as their theme or only use images from the random pictures thread :D
 
I like geuben's idea of having groups using different languages to develop similar apps. I would particularly like to learn C++ as I have quite a bit of experience in Java, but wouldn't mind helping out in a Java group(s).

Perhaps we could have some sort of structure, where there is a leader, several beginners and a few experienced programmers in each group?
 
I actually think there's some potential in the 'OcUK game' idea for similar reasons. However, I'd urge everyone not to get too carried away and ambitious or there's little chance of pulling it off, particularly if we aren't a forum of experienced game programmers! :)

arty

I think a game is appealing because it's quite a 'cool' thing to program. I would guess most of the students would like the idea of helping to build a game and for the most of the professional programmers it's different enough from we we do day in, day out to keep our interest for a while.

As you say we definitely don't want to overstretch at first, which was why I thought doing a simple game to get everyone used to working together, familiar with the concepts and languages might be a good idea?
 
Back
Top Bottom