Living in Asia, but want to get a head start on CompSci degree?

Discrete Mathematics It's not language specific, but is frequently taught in a language-specific manner in colleges. The concepts are the important parts though Actually, now that I think about it. A good Computer Science program (cf a Software Engineering program) won't really have much on specific languages.

They'll cover principles like Object-Oriented Paradigm. Learning programming concepts (such as Discrete Mathematics, OOP) is much more important to a CS degree than specific languages.

Discrete Mathematics It's not language specific, but is frequently taught in a language-specific manner in colleges. The concepts are the important parts though. Actually, now that I think about it.

A good Computer Science program (cf a Software Engineering program) won't really have much on specific languages. They'll cover principles like Object-Oriented Paradigm. Learning programming concepts (such as Discrete Mathematics, OOP) is much more important to a CS degree than specific languages.

The main introductory courses you are likely to get exempt from are discrete math (logic, set theory, recurrence relations, proofs by induction) and introductory programming. The better bet for exemption is discrete math, because there's not too much variation between degree programs. There's so much variation in intro programming courses that it's hard to predict in advance what knowledge would exempt you from a course.

If you aim for a post-bachelor's certificate program (since you already have a degree) you may be able to skip calculus entirely. After discrete math and programming the next "introductory" topic might be data structures, but you may have a harder time getting yourself exempted from that. If I were you, here's how I'd spend my time: Get very good at discrete math.

I haven't taught this topic so I don't know what textbooks are current, but the old textbook Concrete Mathematics by Graham, Knuth, and Patashnik is OK. Start making yourself a good programmer by downloading Racket and working your way through How to Design Programs. This syllabus may or may not get you exempted from an intro course, but I guarantee if you can do this stuff, you will sail through any and all other intro programming courses with ease.

Study algorithms and data structures at an introductory level. Here again I don't have a book I like, but if you're building on How to Design Programs than you might like Chris Okasaki's Purely Functional Data Structures, and if you want to be squarely in the main stream, any of Robert Sedgewick's books will do.

C++ and Java are good languages to start with for computer science. I would suggest learning c++ first. Computer science leans real heavy into mathematics, so you will definitely want to brush up on your calculus.

2 Unless you take a program with a lot of signal processing or with a bias towards applied mathematics, calculus is not as useful as discrete mathematics. – André Caron Nov 8 '10 at 22:43.

Here is a good place to start: ocw.mit.edu/courses/electrical-engineeri... The book and lectures will take you through many important parts of computer science, and leave you better prepared than most other students. It will be some hard work, but in my opinion well worth it. Note that it is taught in Scheme, which you probably won't use in your career, but it is a great educational language.

I was going to suggest this, but although scheme is a wonderful language, I was afraid it would be just a bit too weird as a first language. Python is good preparation for scheme. – CromTheDestroyer Nov 8 '10 at 23:01 I'm always torn between Python and Scheme as a first language.

I find the difference is the math background of person. The more math, the better suited scheme is for a first language. – Stephen J.

Webb Nov 9 '10 at 3:46.

For the love of God, don't learn C++ first. As a first language, I'd recommend either Python or C. Probably python.

EDIT: I don't think C++ is a good language to start with because it is simply too huge. It was the language I first started with. I had a fairly good understanding of pointers, but then the book introduced references immediately after that and everything fell apart.

I also had difficulty with C++ because it's a low level language with many high level constructs, and because of this combination I just couldn't help but wonder how all these things were implemented. The abstractions were not working for me. C++ can be very discouraging if you start out with it.

And that's why I suggest C. C is an incredibly simple language, as long as you have a good understanding of the memory model. Learning C first takes away a lot of the magic in C++ when you eventually get around to it.

I was going to upvote until you suggested C. C is no better than C++ as a first language, IMO. – musicfreak Nov 8 '10 at 22:36 For the love of god, provide a justification with your opinion.

– André Caron Nov 8 '10 at 22:42 @Andre Caron: fair enough. – CromTheDestroyer Nov 8 '10 at 22:58 @musicfreak: how is C not different? It doesn't have a fraction of the complexity of C++.

– CromTheDestroyer Nov 8 '10 at 22:58 I believe that starting with high-level languages is the best way to learn to program. With C, you are forced to learn the nitty gritty details of how programs work (e.g. Manual memory management via malloc) just to be able to write something simple. That's not to say C++ is much better, but it has that extra layer of abstraction which you don't have to learn the details of until you're ready.

Yes, C++ is more complex, but the nice thing about it is you don't have to learn about that complexity until later. All that said, I don't think either language is a good choice as a first language. – musicfreak Nov 8 '10 at 23:06.

Ask the same question in theoretical computer science to get additional feedback.

I think a computer programming course may be the way to go. With those classes, you can learn the basics of computers that can give you a foundation to base the rest of your lessons off of. Also, since you're in Asia, taking an online course may also benefit you because then you can continue taking your classes when you come back to the states.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions