CS-1112: Algorithms and Data Structures

FAQ



About
Announcements
Modules
Coursework
FAQ


Java API

  • What is CS-1112 all about?
    CS-1112 is what we in the Computer Science (CS) business call "CS2" or the second CS course. The material is solid foundational material useful in later CS courses. Also, this is where you increase your skill level in programming, from writing small, essentially, one-page programs to somewhat larger and more intricate programs.

  • Who should take this course?
    The course is required for all CS majors, BA or BS. It is also required for Applied Science and Systems Engineering majors. However, the course is open to anyone who's taken CS-1111 or its equivalent.

  • I haven't taken CS-1111. Can I take this course? If you haven't had a first course (equivalent of CS-53), then you might find this too difficult in the sense that you'll need to cover all of CS-53 real quick (in a week).

  • I've taken the equivalent of CS-1111, but in another language. What should I do?
    If you took your first course in either C or C++, you'll need to learn elementary Java. Generally, if you did well in your first course, you should be able to get up to speed quickly. On the other hand, if the first course was a struggle, come and talk to me.

  • Is this a programming-intensive course?
    It most certainly is. (How else do you learn?) This should be fine if you aren't doing too many other intensive courses alongside. Talk to me if you are doing three other heavy courses along with this one.

  • If I'm stuck, how do I get help?.
    There are three sources of regular help: (1) You can come to my office hours; (2) You can ask the TA for help in the lab; (3) You can avail of the TA's office hours. If none of these work out, or you need extra help, you can hire a tutor - stop by Brendan Lynch's office in Staughton to ask about tutors. Remember that once you've identified a tutor, you'll have to ask your tutor meet with me.

  • Will I be able to work at home or do I have to do the work in Tompkins?
    You can work at home quite easily. Java runs on Windows, Mac OS-X, and Linux. All you have to do is install the full development kit and you can work at home.

  • What about labs?
    I expect that you will attend both the class and the lab. The lab will be used for several purposes, one of which is to see how you are doing with your in-class exercises. The lab is also a great opportunity to ask your TA questions, both about the course material and about forthcoming assignments.

  • What's the difference between an in-class exercise and an exercise with a due date?
    The in-class exercises are embedded in the course material, which we will try to complete in class. Those that we can't should be done the same day preferably, and will be due in the lab immediately following the class. Other exercises, like assignments, are to be submitted formally using our submission procedure.

  • So, in-class exercises are not to be submitted?
    Correct. You should do the in-class exercises and have them in your directory in the lab to show them to the TA, if asked. For this purpose, you should create a special cs1112 directory, under which you should have directories for module1, module2 etc. Keep the in-class exercises for Module1 in your module1 directory.