Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Reply
 
Thread Tools Search this Thread Display Modes
Old Mar 7, 2008, 06:08 PM   #1
Cromulent
macrumors 603
 
Cromulent's Avatar
 
Join Date: Oct 2006
Location: The Land of Hope and Glory
How good do I need to be at programming before I start my CS degree?

So, looks like I'll be starting a computer science degree in September. Just how good do I need to be at programming before I begin? What level application should I be looking at being able to develop?

I really have no idea, I can only program in C but can work out C++ and Java fairly easily with a reference guide. I just need to know how much work I need to put in before September in terms of programming or whether I should concentrate fully on my discrete maths. Any ideas are appreciated.
__________________
Neural Advance - Mac OS X, UNIX and Windows Development
Last.fm Profile | Extreme Metal Reviews
MP 4x 2.66Ghz Xeons / 6GB RAM / 640GB + 500GB + 750GB + 1TB HDDs / ATI Radeon 4870 / iPad 3
Cromulent is offline   0 Reply With Quote
Old Mar 7, 2008, 06:16 PM   #2
higgz
macrumors member
 
Join Date: Feb 2008
Location: Boston, MA
Quote:
Originally Posted by Cromulent View Post
So, looks like I'll be starting a computer science degree in September. Just how good do I need to be at programming before I begin? What level application should I be looking at being able to develop?

I really have no idea, I can only program in C but can work out C++ and Java fairly easily with a reference guide. I just need to know how much work I need to put in before September in terms of programming or whether I should concentrate fully on my discrete maths. Any ideas are appreciated.
Hey I'm a senior in college with a BS in Comp Sci with a concentration in IT by may. Before I went off to school my only knowledge as far as programming experience was visual basic, C/++, HTML, and a little bit of Java. You seem like you'll be fine in that aspect depending on what school you go to and how hard their curriculum is. The applications I was doing my first semester were very easy and they were just teaching the basics. How far are you with math? That was my set back- I had a teacher I clashed with in High School who failed me not once but twice... IN ALGEBRA!!! But yeah- nevertheless I've had to take up to Calc II, discrete math, linear algebra, calc based physics, and analysis classes. Would've helped if I had more of the basics done in high school (like up to calculus at least=\). If you got a decent jump on that I'd say you'll do just fine!
__________________
higgz@mac.com 15-inch Santa Rosa MBP 2.6GHz, 2GB Ram (soon to be 4GB=), 200GB@7200 rpm
higgz is offline   0 Reply With Quote
Old Mar 7, 2008, 07:10 PM   #3
pilotError
macrumors 68020
 
pilotError's Avatar
 
Join Date: Apr 2006
Location: Long Island
Don't worry, I work with folks who still can't program! LOL

Concentrate more on the why than the how in school. If you get a solid foundation in concepts you'll figure out a way to code it.

It will take you much further in your career as well.

I do consulting work and will basically sweep the floor as long as the checks clear. I swap languages every few weeks. I probably suck at most of them compared to someone who specializes, but the conceptual structure carries over from language to language.

After a while you figure out that all modern languages are basically the same. Don't get caught up in not being able to see the forest for the trees. I still know folks who refuse to program in one language or another because their snobs or they have some moral objection to some language construct or another. The purist never survives in a competitive market...

It comes down to the git'r done mentality. A good attitude, decent programming skills, ability to be flexible (team member or individual coder).

Later in life when you've had enough or you just aren't as good as everyone else, don't let it get you down. There's a lot more to development than just coding. Not everyone is cut out to be a coder. Some people like the social aspects of a Business Analyst or a Data Architect that meets with the customer and produces specs. Project Management, managing the big picture as well as the nitty gritty. Working with offshore resources and dealing with that bundle of joy.

The field is so wide open, so don't limit yourself by having to know the in's and out's of a particular language.

One important thing I would tell you to learn is a Database, be it Sybase or Oracle. Even if you take a relational concepts type of class.

Good luck.
pilotError is offline   0 Reply With Quote
Old Mar 8, 2008, 05:41 AM   #4
Cromulent
Thread Starter
macrumors 603
 
Cromulent's Avatar
 
Join Date: Oct 2006
Location: The Land of Hope and Glory
Thank you for the advice. I am most certainly spending a considerable amount of time of maths including getting private tuition. I am also working hard on programming and general programming skills.

I'm really really keen on this course and just want to make absolutely sure that I have the best chance to do well in it.

I'm pretty good on general computing knowledge (architecture, processes etc) so I'm too worried about that side of things.
__________________
Neural Advance - Mac OS X, UNIX and Windows Development
Last.fm Profile | Extreme Metal Reviews
MP 4x 2.66Ghz Xeons / 6GB RAM / 640GB + 500GB + 750GB + 1TB HDDs / ATI Radeon 4870 / iPad 3
Cromulent is offline   0 Reply With Quote
Old Mar 8, 2008, 06:47 AM   #5
MacDonaldsd
macrumors 65816
 
MacDonaldsd's Avatar
 
Join Date: Sep 2005
Location: London , UK
Im on my final year of a CS degree at the moment and they don't expect you to know that much programming when you start, but they do expect you to pick it up fairly quickly, so having some knowledge when you start off always helps
MacDonaldsd is offline   0 Reply With Quote
Old Mar 8, 2008, 09:30 AM   #6
pilotError
macrumors 68020
 
pilotError's Avatar
 
Join Date: Apr 2006
Location: Long Island
Quote:
Originally Posted by Cromulent View Post
I'm pretty good on general computing knowledge (architecture, processes etc) so I'm too worried about that side of things.
Things along those lines that I think are important are object oriented analysis and design (no programming required), Design Patterns and basically fundamental knowledge of framework construction.

I hate to break it to you, but there's no college class around that will prepare you for the real world. That's why an understanding of the big picture is important.
pilotError is offline   0 Reply With Quote
Old Mar 8, 2008, 09:47 AM   #7
mason.kramer
macrumors 6502
 
Join Date: Apr 2007
Location: Watertown, MA
You don't have to know any coding. Most college programs assume a good grasp of how to use a computer, however. Most will teach you Unix if you don't know it (and you have to know it if you want to call yourself a computer person).

My advice to CS majors is that you have to pick it up quickly. When they introduce a topic - you have to learn it that week. Next week they won't be teaching it, but you will still have to know it. And the reason for this is that CS is a big field. 90% of what they teach has, or potentially has, relevance to real world programming. All of it has relevance to your final exam. And the pace is lighting fast. You have to learn it, and the only way to grok it is to spend time on it every day, hammering it into your brain, until you not only understand it, but are fluent in it. You have to become fluent. You have to practice every area, too. Don't like recursion? Tough. Don't like regex? Tough. Don't like pointers? Tough. Don't like something else? Tough! Just don't resist the teachings...master them instead.

80% of CS majors wash out before graduating. You have to become fluent in order to make it. (Every course builds on the one before it).

caveat: 80% wash out in *good* CS programs
mason.kramer is offline   0 Reply With Quote
Old Mar 8, 2008, 10:04 AM   #8
Cromulent
Thread Starter
macrumors 603
 
Cromulent's Avatar
 
Join Date: Oct 2006
Location: The Land of Hope and Glory
Ah sorry this is not college, it is University. Unless Americans call University college? College is for 16 - 18 year olds over here so I am a bit confused .

Right so a good way to spend my time would be software design and looking at algorithms for particular programming tasks then?

I've been dipping my toes in assembler in order to try and give myself a better understanding of low level programming, perhaps I should concentrate more on the hardware aspect?

The CS course I'm looking at certainly covers alot (AI, OS development, software engineering etc, etc) so I think I'll get a lot out of it, I just want to give myself a head start.
__________________
Neural Advance - Mac OS X, UNIX and Windows Development
Last.fm Profile | Extreme Metal Reviews
MP 4x 2.66Ghz Xeons / 6GB RAM / 640GB + 500GB + 750GB + 1TB HDDs / ATI Radeon 4870 / iPad 3
Cromulent is offline   0 Reply With Quote
Old Mar 8, 2008, 10:08 AM   #9
motulist
macrumors 68040
 
motulist's Avatar
 
Join Date: Dec 2003
Quote:
Originally Posted by Cromulent View Post
Ah sorry this is not college, it is University. Unless Americans call University college?
In America the words college and university are synonyms. Here the school for 14 to 18 years olds is called high school.
motulist is offline   0 Reply With Quote
Old Mar 8, 2008, 10:10 AM   #10
mason.kramer
macrumors 6502
 
Join Date: Apr 2007
Location: Watertown, MA
That's right...language confusion...on this side of the confusion, "College" and "University" are synonymous.

If I were you, I would download Python or Ruby and start working through "learn to program" tutorials. Try to find small problems or exercises that have been suggested by a programmer and solve them using the language of your choice. Start with ones that have been suggested because sometimes it is difficult to see which problems are easy and which are hard.

AI and OS development doesn't seem to fit with a first course: it sounds like it will be boring and overly general because the background knowledge isn't yet in place to make an for an interesting discussion. But, who knows.

People will tell you don't miss the forest for the trees, and that's true, but make sure you don't miss the trees for the forest. You have to understand the basics through and through.

edit motulist simulpost
mason.kramer is offline   0 Reply With Quote
Old Mar 8, 2008, 10:33 AM   #11
Cromulent
Thread Starter
macrumors 603
 
Cromulent's Avatar
 
Join Date: Oct 2006
Location: The Land of Hope and Glory
Quote:
Originally Posted by mason.kramer View Post
That's right...language confusion...on this side of the confusion, "College" and "University" are synonymous.

If I were you, I would download Python or Ruby and start working through "learn to program" tutorials. Try to find small problems or exercises that have been suggested by a programmer and solve them using the language of your choice. Start with ones that have been suggested because sometimes it is difficult to see which problems are easy and which are hard.
I can already program in C , I was just wondering what level I need to be at before I start. At the moment I am writing an NNTP newsgroup reader (command line) would that be the kind of level that would be acceptable to start or should I be looking to advance my skills further?

Quote:
Originally Posted by mason.kramer View Post
AI and OS development doesn't seem to fit with a first course: it sounds like it will be boring and overly general because the background knowledge isn't yet in place to make an for an interesting discussion. But, who knows.
Course content:

Year 1
  • Principles and Practice of Programming
  • Professional Issues and Software Engineering
  • From Languages to Hardware
  • Data Structures
  • Logic and Foundations of Mathematics
  • Mathematics for Computation
  • Modelling Computer Systems
  • Algorithms and Computation
  • Logic Programming
  • Computers Unplugged
  • Introduction to Computing
Year 2
  • Data Communications and Computer Networks
  • Operating Systems
  • System Specification
  • Database Systems
  • Programming with Objects and Threads
  • Functional Programming I
  • Compilers
  • Theory of Programming Languages
  • Computer Graphics I: Image Processing and Synthesis
  • Software Laboratory
  • Computability Theory
  • Algorithms and Complexity
Year 3:
  • Foundations of Artificial Intelligence
  • Artificial Intelligence Applications
  • Internet Computing
  • Building Reliable Web Applications
  • Cryptography and IT Security
  • High Integrity Systems
  • Computer Graphics II
  • High Performance Microprocessors
  • Interactive Theorem Proving
  • Concepts of Programming Languages
  • Programming with Abstract Data Types
  • Functional Programming II
  • Designing Algorithms
  • Logic and Semantics
  • Construction Satisfaction Problems and Applications
  • Algebraic Specification of Hardware and Software
  • Numerical Algorithms and Computation
  • Scientific Modelling and Simulation
  • History of Computation
Obviously some of those are optional modules, but does that sound like a decent course? I thought it was pretty comprehensive.

Quote:
Originally Posted by mason.kramer View Post
People will tell you don't miss the forest for the trees, and that's true, but make sure you don't miss the trees for the forest. You have to understand the basics through and through.

edit motulist simulpost
As I said I'm pretty good with the basics, I just want to know how far I need to go. From looking at the first year I think I'm pretty much okay on everything in it except the software engineering and the logic programming modules.
__________________
Neural Advance - Mac OS X, UNIX and Windows Development
Last.fm Profile | Extreme Metal Reviews
MP 4x 2.66Ghz Xeons / 6GB RAM / 640GB + 500GB + 750GB + 1TB HDDs / ATI Radeon 4870 / iPad 3
Cromulent is offline   0 Reply With Quote
Old Mar 8, 2008, 11:50 AM   #12
mason.kramer
macrumors 6502
 
Join Date: Apr 2007
Location: Watertown, MA
Ahh, I think there was a miscommunication somewhere. Sounds like you're way ahead of the game. Have fun at University mate!
mason.kramer is offline   0 Reply With Quote
Old Mar 8, 2008, 12:12 PM   #13
kainjow
Moderator emeritus
 
kainjow's Avatar
 
Join Date: Jun 2000
Cromulent I think you'll be fine. I'm in my senior year and almost everyone I've come across has had zero experience programming outside of the university, and even at this stage they still don't understand much.

If you've only done C my only advice would be to learn a little on OOP so you'll be able to move quickly through it once those classes come, but other than that I say just take it easy and go with the flow of your courses. You'll have fun
kainjow is offline   0 Reply With Quote
Old Mar 12, 2008, 01:35 PM   #14
lee1210
macrumors 68040
 
lee1210's Avatar
 
Join Date: Jan 2005
Location: Dallas, TX
As is the case with most others in the thread, I'm an American. I got a 4 year degree from what I always heard called a "top 10" CS program. I took some programming classes in high school, and taught myself some things before I started school, but that is definitely not what will make or break your education. What no one has mentioned (at least outright) is that University CS is not intended to teach you to program. I don't know what a similar school would be in the UK (maybe College?), but in the US trade schools/technical institutes are where one would go to learn to program. You go to University to learn to think, no matter what your area of study is. I'm sure for "Computer Graphics II" you will have to program, but they're not going to teach you how to implement a tree structure in C++ or something. They're going to teach you what data structures and algorithms are important to the problem set, and how to think about breaking down relevant problems and solving them.

To summarize, any work you're doing now on learning how to program is definitely putting you ahead of the curve in terms of the "grunt work". What might be more important to you if you want to get ahead on what they will actually be teaching is reading a book on algorithms or discrete math. The discrete math will definitely be more helpful to you in a "Functional Programming II" course than bettering your C skills, etc.

With all of that said, and more important than any of it, you are motivated and interested in what you intend to study at University. That's going to serve you better than any amount of programming practice, reading, etc. ahead of time.
lee1210 is offline   0 Reply With Quote
Old Mar 12, 2008, 01:50 PM   #15
36183
Guest
 
Join Date: Jun 2004
I know this is a bit off topic, but i found it interesting to read http://www.cl.cam.ac.uk/admissions/undergraduate/myths/
36183 is offline   0 Reply With Quote
Old Mar 12, 2008, 02:25 PM   #16
Animalk
macrumors 6502
 
Join Date: May 2007
Location: Montreal Canada
The only thing i had ever programmed in my life was my ti-83 calculator during my math, physics and chemistry lectures in high school so it would do all the formulas and stuff for me.

I went into mechanical engineering on my first year in university and I was forced to take a class called "Introduction to programming for engineers" which taught you the basics of C++. The last thing we learned in that course was how to write a C++ class. I went into the final not understanding that concept and came out with a very decent grade.

I switched to Computer Science the semester after as computers were my next "thing" after toying around with machinery and especially cars.

So I went into CS not understanding how to write a class and what its purpose was. Absolutely clueless about OOP.

I am doing great, and about to graduate (hopefully I won't screw it up) in end of april.

Just work hard and learn to love your field.
__________________
Late 2013 MBA i7 8GB RAM 512GB SSD
MBP C2D 2.16Ghz 4GB RAM ATI x1600 128MB VRAM WD 500GB
White iPad 2 32GB Wifi
White iPhone 5 64GB
Animalk is offline   0 Reply With Quote
Old Mar 12, 2008, 02:41 PM   #17
MacFan26
macrumors 65816
 
MacFan26's Avatar
 
Join Date: Jan 2003
Location: San Jose, California
Send a message via Yahoo to MacFan26
Knowing any programming at all will help you if you are in an introductory class. Especially since you are younger, the classes probably won't be expecting people to know anything besides basic "how to use a computer" stuff. When I entered University here in the U.S. in Computer Science I didn't know the first thing about programming. They had two different courses, the "you know nothing" class and the "you've use a little bit of some language once" class. In either case, after about a year everyone ends up in the same track. So I'm sure you'll be fine lol.
__________________
15" i7 MacBook Pro antiglare, iPhone 4, 5G black iPod 60GB, iPod shuffle (red), new AppleTV
MacFan26 is offline   0 Reply With Quote
Old Mar 12, 2008, 04:33 PM   #18
psingh01
macrumors 65816
 
Join Date: Apr 2004
Quote:
Originally Posted by Cromulent View Post
So, looks like I'll be starting a computer science degree in September. Just how good do I need to be at programming before I begin? What level application should I be looking at being able to develop?

I really have no idea, I can only program in C but can work out C++ and Java fairly easily with a reference guide. I just need to know how much work I need to put in before September in terms of programming or whether I should concentrate fully on my discrete maths. Any ideas are appreciated.
I did not know how to program or even own a computer when I started college in 1996. Now I have a grad degree in computer science. You'll learn in school...that's what it is for

Heck I went to school as a Mechanical Engineer, we were all required to take a programming class our freshman year ("C for Engineers"). When I took the class I thought it was fun and easier than I imagined. Didn't seem like magic anymore. So I switched to Computer Engineering and got a degree. Then later on I went back for a graduate degree. Now I work as a software engineer for a big computer company most people have heard of.

You'll be paying a lot of money for school (one way or another), the least they can do is teach you something Don't expect to go in with all the knowledge. You already know C, you are light years ahead of where I was when I started.

Last edited by psingh01; Mar 12, 2008 at 04:38 PM.
psingh01 is offline   0 Reply With Quote
Old Mar 12, 2008, 04:38 PM   #19
aaronw1986
macrumors 68030
 
Join Date: Oct 2006
I am in my fourth year at Cal Poly getting my computer science degree. I came with no programming experience (HTML does not count). It's been fine for me. You do have to pick it up relatively quickly, but they don't expect you have to programming knowledge. You are ahead of the game and should be fine.
__________________
2012 rMBP 15" 2.6 Ghz, 16GB RAM, 512 GB SSD
2008 Mac Pro 8 core 2.8Ghz, 8800GT, 14GB RAM, 3TB
iPad 2 Black 64GB Verizon
2007 MBP 15" 2.4Ghz Glossy:4GB RAM
aaronw1986 is offline   0 Reply With Quote
Old Mar 16, 2008, 03:51 PM   #20
Jeff Hall
macrumors member
 
Join Date: Apr 2006
You're good to go. Enjoy the next 4 years!

I'll share a tip with you. Worry more about understanding the problem you are trying to solve before jumping into coding. I swear to God, if more people did this, we'd have more companies like Apple.

Coding is EASY. Understanding the problem and designing a great algorithm is the difficult part.

Keep your designs as simple as possible, but understand you almost always have to compromise somewhere to make everyone happy. Pay attention when your professors are preaching time/space trade-offs and CS concepts like "o-notation".

If you want a killer job at a place like Google, you'll need to master creative ways of solving difficult problems.

Having been a professional software engineer for some 13 years now, I wish I had followed this advice I'm giving you now.

<-- BS, Information and Comp Sci, UC Irvine 1995
Jeff Hall is offline   0 Reply With Quote
Old Mar 16, 2008, 06:43 PM   #21
Cromulent
Thread Starter
macrumors 603
 
Cromulent's Avatar
 
Join Date: Oct 2006
Location: The Land of Hope and Glory
Thanks for the encouragement guys, I feel much better about it now .
__________________
Neural Advance - Mac OS X, UNIX and Windows Development
Last.fm Profile | Extreme Metal Reviews
MP 4x 2.66Ghz Xeons / 6GB RAM / 640GB + 500GB + 750GB + 1TB HDDs / ATI Radeon 4870 / iPad 3
Cromulent is offline   0 Reply With Quote

Reply
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
Best way to start Programming? PoTayToh iPhone/iPad Programming 3 Mar 15, 2014 06:03 PM
Random.. Is a Information Systems degree what I need for programming? Mr. RPG Community Discussion 7 Jun 26, 2013 12:11 PM
Am I too old to start programming? WhiteIphone5 Mac Programming 143 Jun 7, 2013 01:06 AM
All iPads: How to start programming with Xcode Forzalex iPad 5 Dec 27, 2012 12:34 PM
Not sure which path to take...Math Degree or Computer Science degree? jc0481 Community Discussion 7 Dec 1, 2012 03:30 AM

Forum Jump

All times are GMT -5. The time now is 01:19 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC