CS 2124 Object Oriented Programming
Tips to Surviving the Course
Amazing as it may seem, many students don't know how to pass a
course, let alone do well. Even if they are bright! Their main
method is waiting till the end of the semester and then coming
to ask, "What can I do to get a passing grade?" At
that point, the answer is simple, "Nothing." You may
be surprised, it's not really fun giving out F's. Or even
D's. Honest. But we do have to give out a fair number of
them.
So, if you want to pass / do well in the course, please
follow these tips.
Keep asking until you get it.
That's the first tip for any course. Get your questions
answered. And if later on you find you didn't really understand
the answer that you got the first time, work on it a while, then
come back and ask again. Ask questions in class. Come to the
office and ask. Talk to the TA's and ask. Talk to the tutors and
ask. Talk to your classmates and ask. (But then check with me to
make sure they gave you the right answer.)
This is so important that even though I wrote the same thing a
few lines down under the first bullet below, I decided tocome
back up here and give it a heading all its own. So look, make me
earn my salary. I am here to help you learn. But you have to
come for help. And don't take offense if we don't have time in
class to fully answer all of your questions. Just come
to the office and we'll make the time.
What do you know from CS1114?
In CS1114, or its equivalent, you learned to take a problem
apart and represent its solution as a collection of functions.
You learned how to organize this collection of functions so that
you are passing appropriate information among them
and not relying on global variables. You learned to
use some sort of collections/containers such as lists, tuples,
vectors or arrays. And you learned how to create your own
types. Along with all of that, you learned to reasonably
comment your code and use reasonable names for your functions,
types and variables. These are the basic elements needed by a
programmer in any language. Being comfortable with these ideas
and their use in one language will make learning another
language pretty straightforward. (Ok, there are some wierd
languages out there which will require a different mindset to
use well.)
Basics techniques for surviving this course:
- Ask questions!
-
If you can't understand how the homework was done or how
the code on the website works or anything, then
ask questions.
- Come to office hours for help.
- Make use of the lab time. Ask lots of questions.
- Get tutoring.
-
Start early. It's very very hard to "catch up"
once you fall behind in this course. Everything builds
on what comes before it. Surprise.
-
If I wrote it, then I probably think it's important. I
really hate writing.
-
Know how the code on the website works. Be able to write it
yourself.
- Read and understand the lecture notes.
- Labs.
- They count, so attend and do the work.
-
We design them to help you know what you need
to know, so attend and do the work.
-
Participate in the group problem solving
discussion. That's the way to benefit the most from the
time.
- Homework
- Do the homework. Yourself.
- The best way to do the homework is
- with paper and pencil!
- after you have written it on paper, key
it in, compile and run it.
-
If you have errors (you probably will), then look
back and figure out what it was that you did
not understand when you wrote the code on
paper. I'm talking about syntax
errors andlogic errors. They are both
important.
-
Make sure you know how to do the the homework
before the exams.
- Exams:
-
Read the questions carefully. Make sure that you are
answering the question that was asked. Lots of errors
are due to not reading the questions. Sure I'll
sympathise. But you still won't get credit for your
wrong answer.
-
Exams usually have a lot of short questions followed by
a few long problems. Do as many short ones as you can
easily, then try the long ones and finally come back to
the short ones you skipped.
-
Learn from your mistakes on the exams. Later exams
include material covered on the earlier exams.
- The book.
-
Hm, there isn't one. But I have placed links to online
books. Certainly useful to pick some book and use it to
complement the course. But realize that different
authors and instructors will sequence the material in
different ways, so a book that you read might present
other material that we have not yet gotten to before
material we are currently studying.
-
And because there is no text, read the lecture notes
carefully. And give me
(Sterling)
feedback if something is not covered, or not covered
adequately.
Home
Maintained by John Sterling
(john.sterling@nyu.edu).