Jump to content
Urch Forums

Advice on Independent studies


Gablar

Recommended Posts

First of thanks for such a great forum I've been browsing for a couple of days and the information here is top grade. This is my first post.

 

I will give you some background and then formulate the question.I'm a Computer Science/ pure math double major student, in a small private university in Puerto Rico, which i consider the closest thing you can get to a degree factory. Most courses I've taken so far don't make it half way through the syllabus, because professor need a reasonable amount of students to pass the course so they have to go slow.

 

I have realized this summer in my internship how behind I am if my goal is a PHD in Computer Science. I'm a incoming Junior but I can only answer some of the discrete math questions and some of the programing questions. I have read many times in this forum the advise of concentrating on answering practice question as the best way to study. Although it seems like a very good advise, I'm having problems doing that because the gaps in my knowledge are so vast that I don't' even know were to begin in most questions.

 

My question is; Out of all the subjects in the test, where should I start to get good fundamentals? Let me re-phrase that, in what order would you study if you were to build your knowledge in Comp Sci? Anything I should study in parallel? Considering that I won't take the GRE until fall 08, I think I have the time to not only prepare for the GRE, but prepare for grad school.

 

This is very important to me since I want to go to a very good grad school, and I think considering my undergrad college, I need a good way to prove my knowledge, the GRE subject test is key. Also, I will be volunteering for research in a much bigger school close by to get some of that under my belt, that should help improve my odds.

Link to comment
Share on other sites

  • 2 weeks later...

Calm logic. thanks very much for your reply. I've been looking your great link collection and comparing it with the subjects of the GRE. I think I've come up with a set of lectures l that I should study. I plan to buy the textbooks for each lesson too, so I can get reference material. Do you have any suggestions about what is the best order to do these lessons?

 

 

I. SOFTWARE SYSTEMS AND METHODOLOGY — 40%

 

The Structure and Interpretation of Computer Programs

 

Online course with 20 video lectures with problem sets and exams. Scheme is used as the programing language

 

 

The Structure and Interpretation of Computer Programs

 

Text: Structure and Interpretation of Computer Programs (full online text), Abelson and Sussman (1996)

 

 

 

Object-oriented Program Design and Software Engineering

 

 

 

Online course with 20 video lectures with problem sets and exams. Scheme is used as the programming language

http://www.aduni.org/courses/java/index.php?view=cw

 

 

 

Text: Core Java 2, Volume I: Fundamentals and Volume II: Advanced Features, Hortsmann and Cornell. ( 2000)

 

 

 

II. COMPUTER ORGANIZATION AND ARCHITECTURE — 15%

 

How Computers Work

 

 

 

Online course with 20 video lectures with problem sets and exams.

 

How Computers Work

 

 

 

Text: Computer Organization and Design, Patterson and Hennessey. (1997)

 

 

 

 

 

III. THEORY AND MATHEMATICAL BACKGROUND — 40%

 

 

Discrete Mathematics:

 

Online Course 19 video lectures with problem sets and exams

 

Discrete Mathematics

 

Text : Discrete Mathematics and its Applications; Rosen (1998)

 

Algorithms:

 

Online course with 20 video lectures with problem sets and exams

 

Algorithms

 

 

Text: Introduction to Algorithms, Cormen, Rivest, Leiserson.(2001)

 

Theory of Computation:

 

Online course with 22 video lectures with problem sets and exams

 

Theory of Computation

 

Text: Introduction to the Theory of Computation, Michael Sipser. (1996)

Link to comment
Share on other sites

Calm logic. thanks very much for your reply. I've been looking your great link collection and comparing it with the subjects of the GRE. I think I've come up with a set of lectures l that I should study. I plan to buy the textbooks for each lesson too, so I can get reference material. Do you have any suggestions about what is the best order to do these lessons?

 

 

I. SOFTWARE SYSTEMS AND METHODOLOGY — 40%

 

The Structure and Interpretation of Computer Programs

 

Online course with 20 video lectures with problem sets and exams. Scheme is used as the programing language

 

 

The Structure and Interpretation of Computer Programs

 

Text: Structure and Interpretation of Computer Programs (full online text), Abelson and Sussman (1996)

 

 

 

Object-oriented Program Design and Software Engineering

 

 

 

Online course with 20 video lectures with problem sets and exams. Scheme is used as the programming language

http://www.aduni.org/courses/java/index.php?view=cw

 

 

 

Text: Core Java 2, Volume I: Fundamentals and Volume II: Advanced Features, Hortsmann and Cornell. ( 2000)

 

 

 

II. COMPUTER ORGANIZATION AND ARCHITECTURE — 15%

 

How Computers Work

 

 

 

Online course with 20 video lectures with problem sets and exams.

 

How Computers Work

 

 

 

Text: Computer Organization and Design, Patterson and Hennessey. (1997)

 

 

 

 

 

III. THEORY AND MATHEMATICAL BACKGROUND — 40%

 

 

Discrete Mathematics:

 

Online Course 19 video lectures with problem sets and exams

 

Discrete Mathematics

 

Text : Discrete Mathematics and its Applications; Rosen (1998)

 

Algorithms:

 

Online course with 20 video lectures with problem sets and exams

 

Algorithms

 

 

Text: Introduction to Algorithms, Cormen, Rivest, Leiserson.(2001)

 

Theory of Computation:

 

Online course with 22 video lectures with problem sets and exams

 

Theory of Computation

 

Text: Introduction to the Theory of Computation, Michael Sipser. (1996)

Link to comment
Share on other sites

Text : Discrete Mathematics and its Applications; Rosen (1998)

 

Text: Introduction to Algorithms, Cormen, Rivest, Leiserson.(2001)

 

Text: Introduction to the Theory of Computation, Michael Sipser. (1996)

 

The three books above are great!!!!!! You really can't get better books on the subject and they are definitely the most popular books. IMHO, the most valuable book of the three is Rosen's textbook on discrete math since discrete math is, again, the foundation of computer science.

 

I would start off with discrete math. What I did was I got an older version of Rosen's discrete textbook. I also got the corresponding student solutions guide. I didn't spend too much time with the textbook, however. I just learned what I needed to in order to answer some of the questions in the ETS booklets.

 

Regarding video lectures, the best course at ADUni.org is the Theory of Computation class. I found the other courses less helpful.

 

Some other good lectures:

 

Lectures on Data Structures & Graph Theory

 

 

I've looked at "Structure & Interpretation of Computer Programs" before. IMHO, that book is not worth the time for studying for the GRECS since it uses Scheme/Lisp to help explain topics. For most people, including myself, that would only make the material more difficult to understand, especially since Scheme/Lisp is not even mentioned in any of the previously published ETS questions.

 

 

I wouldn't spend any time reading a Java book or any book on a specific programming language. What you need the most regarding computer languages is a book on the theory of programming languages.

 

For example, the textbook I use for programming language theory:

 

Programming Language Pragmatics

 

 

Text: Computer Organization and Design, Patterson and Hennessey. (1997)

 

That is certainly the most popular book on computer architecture, so it's worth getting an old copy. However, no single textbook has really stood above the rest for me for computer architecture.

 

Also, for computer architecture, no online course has really been helpful to me. Instead, I've relied on the Schaum's Outline on computer architecture , old editions of various textbooks, Wikipedia articles, and GRECS study guides. Some people also like MIT's OpenCourseWare.

Link to comment
Share on other sites

  • 2 weeks later...

Yeah, it looks like they are gone for good. I also tried using the Internet archive (archive.org) and the weren't there either. I sent an e-mail to the professor, who already has replied and says he will look into the issue. Anyway, I will post back if the videos go back online.

 

However, as a substitute:

 

MIT OpenCourseWare | Electrical Engineering and Computer Science | 6.046J Introduction to Algorithms (SMA 5503), Fall 2005 | Lecture Notes

 

The videos and lecture notes at the above MIT link include some specific lectures on graph theory.

 

BTW, the video course below that Gablar mentioned for helping one understand computer architecture seems pretty good:

 

 

II. COMPUTER ORGANIZATION AND ARCHITECTURE — 15%

 

How Computers Work

 

Online course with 20 video lectures with problem sets and exams.

 

How Computers Work

 

Link to comment
Share on other sites

The videos I mentioned before are back online:

 

Lectures on Data Structures & Graph Theory

 

BTW, the best success story in this forum for independent learning in computer science was by KayKay. She was accepted by Columbia University. Some of her advice, which you may have already read:

 

When I started preparing for subject GRE, it was not an easy task. The amount of the course material (which I would be reading for the first time !!), the immense syllabus and competition with the guys who already had good knowledge of the subject... simply overwhelmed me. Many a times I felt like giving up. During initial periods, when I saw ppl discussing advanced topics and I couldn't understand much of it, I used to have a sinking feeling. I had no idea if I would be able to finish up the study material ever and would be able to take the exam confidently. But I kept studing at a steady pace. I picked up the Brilliant Tutorial's GATE study material along with other books (another post from me... -> (study material for a person with a Non-CS background !!)). It helped me a lot as it covers most of the topics for subject GRE and has good amount of question and answer sections. By the time the test date arrived, I had not been able to cover all of the topics and was mostly unprepared. But I took the test confidently.

 

http://www.www.urch.com/forums/gre-computer-science/50109-word-cheer-ppl-noncs-backgrounds.html

 

Though she refers to the "Brilliant Tutorials" and other GATE study booklets which are only available in India, many sample GATE questions are available online, as mentioned in my signature below. I would also point out that the GATE Information Technology exam (a newer exam), not just the GATE Computer Science exam, provides computer science questions.

 

(KayKay didn't mention GRE CS study guides like "Titanium Bits" and older ETS practice exam booklets, so she may not have known about them.)

Link to comment
Share on other sites

Some video courses from Berkeley that are very good:

 

UC Berkeley Webcasts | Video and Podcasts: CS 162 (Operating Systems and Systems Programming)

UC Berkeley Webcasts | Video and Podcasts: CS 61C (Machine Structures - the professor provides the best explanations for virtual memory I have seen yet)

UC Berkeley Webcasts | Video and Podcasts: CS 61B (Data Structures)

 

Regarding the videos I mentioned before that are back online, there are lecture slides that are helpful for anyone watching the corresponding videos, which are grainy and boring enough to warrant fast-forwarding. Of course, using such lecture slides is usually more efficient than using videos to review material one already knows.

Link to comment
Share on other sites

Just found a new textbook on algorithms that is free to download:

 

http://www.cs.berkeley.edu/~vazirani/algorithms.html (draft copy)

 

The book is by Dasgupta, et. al. and has received excellent reviews at Amazon.com. The book has less than 340 pages, so it is less detailed than the huge Cormen book on Algorithms. This may mostly be a good thing, however, since the huge Cormen book makes it easy to lose focus on what is important. I would still recommend getting the Cormen book as a reference, especially since it is the most popular book on algorithms. (Unfortunately, both books do not provide an answer key to their exercises.)

Link to comment
Share on other sites

  • 2 weeks later...

Regarding MIT OpenCourseWare, the link below has some great tutorial problems with solutions for computer architecture:

 

6.004 (Computation Structures - MIT)

 

There are also lecture videos at the link above, but they may not be as good as the videos from Berkeley that I posted in this thread.

 

BTW, to keep all of one's study information organized, I like Microsoft's OneNote, which has a free, fully-functional trial that lasts for at least 60 days. OneNote lets one keep study notes, lecture notes (including PowerPoint files), ETS booklets (PDFs), links, etc. all in one place for easy browsing, searching, and highlighting. OneNote also has a screen capture utility, the keyboard shortcut for which is "Windows Key" + "S".

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...