Quantcast

Maximum PC

It is currently Wed Oct 01, 2014 11:22 pm

All times are UTC - 8 hours




Post new topic Reply to topic  [ 9 posts ] 
Author Message
 Post subject: Programming Project ideas???
PostPosted: Fri Jul 02, 2010 9:40 pm 
Willamette
Willamette

Joined: Tue Feb 01, 2005 12:17 pm
Posts: 1480
Pardon me if I've asked this before, but I will ask it again since I didn't see the final result...

I'm in dire need of something to do in my spare time to help me keep my programming skills up. Yes, I'm doing some updating of apps I wrote for people earlier, but I want to take on a new project (I would prefer to write an application than a website, but have a few ideas for Internet-related projects).

Internet Project ideas:
* Content Management System (I know there are many out there, but this might be interesting)
* Remote database management system (I know of phpMyAdmin)
* Automotive maintenance records system
* Photo gallery (again, I know there are ones out there now that are very popular)

Computer Application ideas:
(some cross over from Internet ideas)
* Windows-based MySQL client (I know MySQL has one, but maybe one that's a bit more user-friendly and stripped down for basic usage)
* Automotive maintenance records system
* Some sort of business app (inventory, sales tracking/growth, etc)


I'd like to stay away from the "real popular" ideas, like the calculators, address books, games, text editors, etc.

That's all I can think of right now. I'm thinking if I do a computer app, it will be Windows-based (obviously) and probably will use either Visual C# (would prefer, but I'm fairly new to the language) or VB.NET (which I am very familiar with, but am trying to move away from it). I would also be able to use MySQL with VB/C# for database stuff (for now, since I'm not entirely up to date with the newer ADO.NET stuff).

As for web programming, I'm looking at PHP and MySQL as my development technologies for now (simply because my web host only supports PHP now and not ASP).

Suggestions?


FYI - I have a computer science degree, but also a management/marketing degree as well, so business-related items (with the exception of a photo gallery or CMS) appeal to me more than games and other "not-so-useful" projects.


Top
  Profile  
 
 Post subject:
PostPosted: Sat Jul 03, 2010 8:17 am 
Java Junkie
Java Junkie
User avatar

Joined: Mon Jun 14, 2004 10:23 am
Posts: 24224
Location: Granite Heaven
Why don't you do some reading and find some programming technologies that interest you and build an application that will help you learn them.

Object-orientation is one technology that you could use some work on .. but there are many, many others.

This is really the best way to improve your programming skills. It is the equivalent of drills in sports .. rather than trying to learn a whole new sport, learn to shoot, skate and pass the puck.


Top
  Profile  
 
 Post subject:
PostPosted: Sat Jul 03, 2010 6:46 pm 
Willamette
Willamette

Joined: Tue Feb 01, 2005 12:17 pm
Posts: 1480
thanks. I'm quite fluent in the OOP area, don't know everything, but am very well aware of how the technologies and methodologies work, and how to code most of them...

C# is still somewhat new to me... this is why I had to ask those questions on the other forums... most languages I've worked with had some sort of way of using global variables, but C# seems to be a little different in how it handles that, so that's why I had to ask.)

Most of my OOP work has been learned with C++, so there were some differences I had to get over and learn with C#.

I also find that when I write an actual complete program to do something (whether it be a web app or desktop application) I'm more likely to expand my skills rather than doing a bunch of small random stuff that don't really add up to something -- I'm the type of person that likes to learn what I can, but at the same time, be productive). there is no time frame for the project (as I can see now), just want to give myself a challenge. Pretty much I can learn a language rather quickly, and since C# is somewhat similar to C++, this has made it much easier to learn, than going from (for example) Cobol to Visual Basic... it's not so much the logic behind it that makes it difficult, it's finding the proper syntax and doing it appropriately...

I know that what I had asking in the other thread was not the BEST method to use, but at the time, I needed something quick to get the job done for the person. I learned all of my programming stuff over ten years ago, and for quite some time now, I haven't really used it on a regular basis, although I do little things here and there to keep my skills up, but don't program on a daily basis as of right now (at least, not for a job), so I'm a little rusty on the subject.

(I actually had a friend in one of my classes who was 53 and was a well experienced programmer -- semi-retired I think -- but he said he liked taking the intermediate C/C++ programming courses over and over every 5 years or so just keep his skills up and fresh, and to keep up with technology and methodoligies, so from what I can see from this, even the most seasoned programmer still needs to practice to keep skills current -- same goes for almost anything -- the more you do it, the better you'll [supposedly] be at it.)

Although I Have a Comp. Sci. degree, I actually have not really had a change to fully apply my skills in that area, simply because I started out as an intern at a company doing some rather basic computing tasks (commenting code, updating little things here and there and recompiling apps and testing them--most of which where already working anyway, so there wasn't much need for debugging anyway)..I was then offered a job, but ended up turning it down, because at the time, I didn't want to move [and couldn't because I was in the middle of my second degree], that and the job was entry-level (and actually paid much less than the first grocery management job I had, and I really didn't have much room for advancement from what I gained from other people who where working there already.), so all I've had at this point have been merely job offers, none of which I've taken as of right now partially because of relocation.


Top
  Profile  
 
 Post subject:
PostPosted: Sat Jul 03, 2010 6:55 pm 
Willamette
Willamette

Joined: Tue Feb 01, 2005 12:17 pm
Posts: 1480
I've actually found that although computers interest me a lot, I sort of like the area of business and management just as much (and that's what my second degree was). Now I'm puzzled as to if I want to get a Masters in Computer Science or Business Admin (Due to the cost, I probably can't and won't do both.)


Top
  Profile  
 
 Post subject:
PostPosted: Sun Jul 04, 2010 3:48 pm 
Bitchin' Fast 3D Z8000
Bitchin' Fast 3D Z8000
User avatar

Joined: Mon Jun 14, 2004 4:04 pm
Posts: 985
Location: Earth
cbassett01 wrote:
Most of my OOP work has been learned with C++, so there were some differences I had to get over and learn with C#.


C++'s OOP is a far different paradigm than C#. While there are similarities, OOP in both language is different in how we think in both languages.

For example, C# follows the Java mentality of "One interface, many implementations" whence why it only allows for single inheritance. C++, not really so.

I agree with Jip; instead of building apps, you should focus on programming methods and techniques. For example, Gang of Four (GoF) design patterns or algorithms. You can sit down and write a CMS or a CRM, but none will match when you know how to pattern system design and architecture.

It's not hard to find real world examples that mimic algorithms or design patterns. For example, you could build an app that uses the interpreter pattern to build a complex calculation engine using a simple pattern. You could also use a Chain-of-responsibility pattern to mimic or employ workflows in a CMS or CRM.

So instead of building out an app, try actually employing methods and patterns. They will help you think of programming in a different light.


Top
  Profile  
 
 Post subject:
PostPosted: Sun Jul 04, 2010 6:26 pm 
Willamette
Willamette

Joined: Tue Feb 01, 2005 12:17 pm
Posts: 1480
I guess I will look into those a little then...

When I took computer science courses for my first degree (and that was back when Win95 was the OS of choice) the bulk of the material we learned dealt with C/C++ (which has been around for ages), BASIC (which I think maybe I took 1 or 2 classes in college, a few in HS, including a class in VB which at the time I think was VB3 or VB4), a little Cobol (using the mainframe architecture) and some Pascal (which pretty much has fallen off the face of the earth as far as I'm concerned).

The reason I'm not quite as familiar with some of the advanced C# and Java stuff is that when I took classes, neither of these languages were really present (Java had just started to come out but was still in it's early stages, and C# wasn't really even around, and the entire .NET Framework was probably only an idea on paper at that point) a lot of the stuff I did do was the usual in C/C++: binary trees, templates, stacks, ques, basic I/O and file I/O, basic OOP techniques, etc. And in the other languages I took, they more focused on system architecture, as in assembly language and the mainframe computer systems from IBM. So, a lot of my college level programming was very basic, and very fundamental, because (the assumption at the school was) that if you could master these techniques, then you'd be able to pick up other languages fairly quickly. Not quite so.
And like I said, a lot of my programming and theory classes were based around mainframe architecture and data structures. Not so much on GUI (or even OOP) programming that much (although my 3 C++ classes pretty much taught me that stuff, but in a condensed introductory level format).

The computer classes stopped in 98 when I graduated, so from that point on, I really haven't been into that many computer classes (I think I took a C++ class as a refresher back in 2002), and a database course back in 2003-2004ish (and it was actually rather fundamental, using Access for part of the time, which really didn't teach me much).


So the bulk of my learning for C# the .NET framework and development tools, was really learned by me reading and playing around with them, which I must say for the most part, I think I'm picking up C# quite quickly, pretty good for not using C++ for several years now (I know they're different languages, but some of the same rules apply to C# as they do to C++).


Yes, I have a CS degree, but I haven't really been able to keep up, especially since I have a second degree now in business, and have been pursuing that more than computers (computers have become my hobby for now). I do fix them on the side for spare cash, and do custom programming here and there, but nothing too extensive.

I know some of the theories and patterns proposed may be fairly basic and part of most CS coursework, but again, every school is different (there are certain standards they adhere to), but as I said, I learned about data types more than i did about patterns and the newer .NET/C#/VS.NET stuff...

So, I'll look into these patters and suggestions and see where it takes me...


Top
  Profile  
 
 Post subject:
PostPosted: Mon Jul 05, 2010 3:16 pm 
Bitchin' Fast 3D Z8000*
Bitchin' Fast 3D Z8000*
User avatar

Joined: Tue Jun 29, 2004 11:32 pm
Posts: 2555
Location: Somewhere between compilation and linking
Here is one idea. Quite a few businesses use pdf files as a standard file type for various purposes. Of course, pdf files always seem to look pretty damn good on a computer, but they often fall short on smaller form-factor devices like an iPod or Kindle. Maybe you can write an app that allows users to make changes to a pdf to improve the readability on these other devices.


Top
  Profile  
 
 Post subject:
PostPosted: Tue Jul 06, 2010 4:03 am 
SON OF A GUN
SON OF A GUN
User avatar

Joined: Mon Nov 01, 2004 5:41 am
Posts: 11605
A CMS is an interesting project, probably more complicated than you want to do as a "hobbiest" type project. Same with a LOB (line of business) application like inventory tracking. There is just far to much involved to be anything more than a glorified and overcomplicated spreadsheet.

The Auto Maintenance DB could be pretty useful. Look for an application called "Cars" I think. Stores info as a XML file.


Top
  Profile  
 
 Post subject: Re: Programming Project ideas???
PostPosted: Tue Jul 06, 2010 7:19 pm 
Bitchin' Fast 3D Z8000*
Bitchin' Fast 3D Z8000*
User avatar

Joined: Tue Jun 29, 2004 11:32 pm
Posts: 2555
Location: Somewhere between compilation and linking
Maybe it is just me, but to my eye, there is a bit of an impedance mismatch between your goal and projects.

Goal: I'm in dire need of something to do in my spare time to help me keep my programming skills up.

Projects:
1. Content Management System
2. Remote database management system (I know of phpMyAdmin)
3. Photo gallery
4. Windows-based MySQL client
5. Automotive maintenance records system
6. Some sort of business app (inventory, sales tracking/growth, etc)

When I think of sharpening my programming skills, I usually choose to work on small, clearly defined problems (unlike most of the ones that you listed... esp #1). I don't really think that creating a database (eg #5), connecting to a database (pretty much all of them) or creating a gui (ditto) is really what I would call programming (or sharpening up my programming, rather). Maybe it is all just semantics (ie what is programming?)... I don't know, but I feel like anyone can create a gui with a tool... you don't really need to practice it. Need to connect to a database? Copy three or four lines of code out of the manual (writing a JDBC or .NET database connection OTOH).

One of the things that I do when I feel my programming is slipping a bit is to work on TopCoder problems (or Project Euler problems). They are short and sweet (ie dense, not wishy-washy). They also have well-defined solutions available. I don't have to spend a bunch of time unit testing because someone else already did that for me. Plus, if I really get stuck, there is a write up (Yay -- I'm going to learn something new). Are they useful? I think so. On a number of occasions, I've uncovered something that I did not realize (eg common log vs natural log in Java ... quick, how do you convert between them again?). IMHO -- problem solving, algorithms, data structures -- those are the things that you need to sharpen.


Top
  Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 8 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group

© 2014 Future US, Inc. All rights reserved.