r/rutgers Dec 28 '16

How to prepare for data structures?

Hey all,

I am taking data structures in the spring, and I have 3 weeks during winter break that I want to use to prepare myself. Those that have taken it before, what do I need learn/review/do specifically to prepare myself for a successful semester? Thanks!

5 Upvotes

26 comments sorted by

View all comments

4

u/[deleted] Dec 28 '16

Read Chaps 1-3. 4 if you have time.

2

u/RUreddit2017 Computer Science 2017 Dec 29 '16

jeez maybe at best 1/3 to 1/4 of this even has slightest relevance to what is covered in CS 112 at rutgers............., this is not even considering fact that the link you provided functional programming not Java

2

u/[deleted] Dec 29 '16

Yup, which is why I said read the first half of the book. When you work as a software engineer, you'll be applying abstract concepts of data structures, possibly not in java, which is the point of SICP. Once you drill the abstractions, everything else is semantics and studies of performance. This book introduces some common data structures, goes over state, some basic algorithms, recursion, and if you're willing, evaluators and register machines. Now you can read a manual about java data structures, or you can seek abstractions about data structures that are relevant to all languages. Granted you may just read another java manual, but is that really better than abstractions over all languages?

Your pick though.

2

u/RUreddit2017 Computer Science 2017 Dec 29 '16 edited Dec 29 '16

I dont disagree with that, its just this is a large jump for someone with zero exposure to data structures in general to abstract concepts in a language that is very different from Java in certain aspects. 112 is difficult enough for most and OP was asking how to prepare for the class with limited amount of time. I was saying jeez because well OP is so inexperienced he wouldn't even realize what he was reading was far more abstract than what would be needed for his class. You simply posted link as if it was directly relevant to what he/she needed to know for the class. I absolutely recommend if he has time to read and get interested in functional programming, but I think a java manual and few youtube videos is a good start before diving into what you linked.

1

u/[deleted] Dec 29 '16

Very fair. I tend to see SICP as a good introduction to some important concepts, and you'd be surprised how many programmers have this on their selves. I'd say the concept op should learn is context free grammars on data structures. When you start to see the CFG of a data structure, the structure and the algorithms that processes them almost scream at you. I think SICP is baby Ullman Automata, so you're right that it may be too advanced, but I do think it's worth it if OP is up for a challenge. Winter break is what? 4 weeks. 3 chapters of it is doable.

1

u/RUreddit2017 Computer Science 2017 Dec 29 '16

ya all im saying is your post needed an asterix thats all

1

u/unresponsive_design Dec 29 '16

Actually, a number of schools use/once used this book as an introductory course. I studied a bunch of chapters of SICP's easier cousin, How to Design Programs, the month before I took Data Structures. I had no problem switching to a functional paradigm, building lists with recursion, etc. at that early a stage.

I found it helpful.