Jump to content

Final Year Computer Science


jack_23

Recommended Posts

Hi,

 

I am a final year Computer Science student who is just about to finish the first semester of the fourth year. To be honest, I admit that I haven't been a good student during my studies since I wasn't deeply involved with subjects and just did enough to get average grades. However, I have theoretical, some practical knowledge and I am good at Databases. I am aware of all, therefore I would like make a big change and do well this time. Throughout my studies, I have touched various programming languages in which I mostly have a starting level. Now, I have a final year project to complete which is to be an Android project and also second semester subjects will keep me busy enough. When I look at the job descriptions, they mostly require background in different areas which really scares me. In short, I need advice from experienced people/ users here. I feel my background is weak so it needs to be improved. On the other hand, it's a huge area so I am not sure on what to concentrate. Another option is to find a part time job. The thing is I have a couple of months before I graduate and I want to improve myself. I would really appreciate any advice and direction regarding with my situation. I live in Dublin, Ireland. Thanks in advance.

Link to comment
Share on other sites

Write applications for yourself. Write it every day. One application/game with GUI per day (or week depending on complexity).

You will be able to show your stuff in portfolio to employer.

Or even sell it through Internet using PayPal, or other service allowing charging Visa/Master cards to clients.

For retail clients applications should be in C/C++/.NET Framework.

 


Does some application that you're using right now annoys you? f.e. doesn't have functionality that you would like to have. Write it by yourself.

f.e. always annoyed me that built-in Windows calculator doesn't have history of previous calculations for review, or to return to them.

Making your own calculator in .NET Framework shouldn't take more than one day of programming.

History can be stored in XML, CSV or database.

(CSV can be easily imported to OpenOffice SpreadSheet/Excel, nice feature)

Calculator for physicists could have buttons with constants f.e. c, Planck, Reduced plank, mass of electron, elementary charge etc. etc.

In one version you can encode them as buttons, in more extended make them editable to user.

Link to comment
Share on other sites

Write applications for yourself.

 

Always a good idea. A good way of experimenting with and learning new languages, tools and techniques.

 

I would suggest looking for a job in software testing, initially. I probably learnt more about good and bad development, debugging, and critical thinking during my time as a test and verification engineer than at any other time. You might be able to find contract work with a company that provides software test services.

Link to comment
Share on other sites

I doubt such company has free access to source codes of application they're testing.. Not to mention they can be million lines of code to analyze..

Often even application developer's in large projects not have full access to entire project (except top level programmers). They see only other people's modules compiled objects/linkable libraries/shared libraries, but no source of them.

This way leakage from one person/compromised machine won't end up in lost of entire project.

 

Newbie must see other people source codes to learn from examples.

 

Link to comment
Share on other sites

I doubt such company has free access to source codes of application they're testing.. Not to mention they can be million lines of code to analyze..

 

Often even application developer's in large projects not have full access to entire project (except top level programmers). They see only other people's modules compiled objects/linkable libraries/shared libraries, but no source of them.

This way leakage from one person/compromised machine won't end up in lost of entire project.

 

Newbie must see other people source codes to learn from examples.

 

 

That is not always true. Sometimes the test team works along side the developers (ideally, the tests would be written from the specs before the coding starts).

 

But,even without being able to see the source code, it is still one of the best ways to develop critical thinking skills ("how can I demonstrate that this code doesn't work" or "what other tests can I do that might provide more data to the developers") and learn about good and bad practice (company A always has loads of bugs and delays because they don't write specs / company B always includes testing time in the project plans which means they finish ahead of schedule / etc.)

Link to comment
Share on other sites

 

(ideally, the tests would be written from the specs before the coding starts).

 

Tests before coding? That's completely different type of tests than we're talking about.

I thought that we're talking about finding bugs in ready application.

Tests before coding would be about checking new algorithms whether they're faster, better, less memory hungry, whether program has sense writing (especially true for 3rd party plugins, modules and extensions, not once I started coding such module just to find out that what I wanted to do is impossible because there is no functionality in base application or there is error in some function that I needed to use and whole project was screwed up (but doesn't bother me lost day or two to find it out). Couple such projects were stalled for a couple years until original developer added/fixed needed functionality) etc. etc.

Link to comment
Share on other sites

Tests before coding? That's completely different type of tests than we're talking about.

 

No, same thing. By writing the tests first you validate the spec before coding starts (make sure there is a spec in most cases). As coding proceeds, testing can be done incrementally instead of being left to the end. And so on. I doubt any really does it that way but it is a good target to aim for. The better your spec, and the earlier you start planning and doing testing, the less likely you are to have bugs and the sooner you will finish.

 

Couple such projects were stalled for a couple years ...

 

And was there a detailed functional, architectural and implementation spec before the project started? I am guessing not...

Link to comment
Share on other sites

 

And was there a detailed functional, architectural and implementation spec before the project started? I am guessing not...

 

Such modules I am writing in 1-7 days.

Client is typically not programmer, so specifications are quite rough *)

Typically I can tell client in advance whether project is plausible or not.

But if function in base application is broken, how can I know in advance prior using it.. ?

If these projects would be for months of coding, in large team of programmers somebody would have to check whether all functions in SDK are working fine, to not waste time.

 

*) or even I am doing everything my way, knowing what effect client wants. Because his vision was since beginning impossible (like last December project).

Link to comment
Share on other sites

That's the difference. The projects I have worked on have had teams of 10 or more (nearly 100 in some cases), often spread across multiple countries and with different specialist skills and extend over months or years.

 

My neighborhood worked for Sabre and told me how he "worked" on large project: he wrote 30 lines of code in C/C++ in 3 months..

The rest of time, 8h per day or so, he spend on meetings asking for permission to make these 30 lines of code. It's not for me.

In the same period of time, I wrote alone maybe 60,000-120,000 lines of code in my apps (one module has 5-10k lines, and I was writing one per week or so)..

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.