Course ID: 01:198:112

Learning from Classroom Instruction

• Read the posted slideshows before attending class to get a general idea of the topic being taught. Presentations are linked on the CS112 Rutgers website under “Lectures” before class is held.
• Follow along with the lecturer during class when they are demonstrating the different data structure algorithms (especially on how to code them).
• CS112 lectures occur in large classrooms and sitting close to the front and being attentive to the lecturer help to keep you engaged with the material.
• Recitations reinforce understanding of concepts learned in lecture that week. This is a helpful place for small-group collaboration on sample problems and asking your LA questions.

Learning for and from Assignments

• There are 4 assignments and 10 labs (shorter assignments) that are required for you to complete over the course of the semester. These assignments are in Java and you will be using VSCode, which is an open-source code editor to complete your assignments. You will submit assignments to the AutoLab website.
• These assignments will test your understanding of the different data structures and algorithms you learned in class in a technical way. They can take a while to complete but you are given time to complete them. Starting earlier is beneficial to maximize your success. The assignments have an extra credit option, if you complete the first and/or second method within the first week, which you can take advantage of.
• The labs are shorter versions of your assignments and serve as a helpful review of specific algorithms that you need to master. The labs are a warm-up for your larger assignments, but have a shorter deadline for completion.

Preparing and Studying for Exams

• Reviewing the lecture slideshows, your notes, and coding concepts are effective ways to study for your midterm and final exams. These resources will help you to solidify your understanding of topics for the midterm.
• Visuals are key to understanding the different algorithms in this class. The exam is consists of coding and illustration questions. Master the visuals by practicing trees, heaps, linked lists, etc. by hand. You can watch videos to help you visualize these diagrams and to continue to increase your understanding.
• Know the run-times for the different algorithms! There will be a couple questions on these.
• Doing the past exams and checking the corresponding posted solutions are helpful preparation resources for midterm and final exams, as they give you a sense of what you can expect. You can find them on the CS112 Rutgers website under the “Exams” tab, along with the topics that will be tested, room assignments, and time of your exam.
• Attend TA and professor office hours to get your questions answered and/or to review certain concepts. You can find their meeting availability on the CS112 Rutgers website under the “Staff” tab.
• There are practice exams from previous semesters provided for you for the midterm and final exam. Use these tests for practice and to get a general idea of the types of questions that you can expect. Bring questions from these practice tests to lecture, office hours, or recitation.
• In CS112, there is a mix of different types of questions that can be asked during the exam including diagram drawing and open-ended questions. There will also be coding questions, which will test your ability to write method(s) on paper.

Helpful External Resources

• The lecture and recitation slideshows illustrate the concepts visually, through diagrams as well as the coding portions.
• To practice your coding, you can utilize external coding practice websites like LeetCode and HackerRank. These applications allow you to practice specific topics by giving you a problem to code. You can use the provided hints and check the solution for extra help.
• Video instructional exercises, like YouTube videos and Codeacademy, are helpful in gaining understanding of specific concepts.
• The learning objective videos by Professor Centeno on the DS website are helpful. They offer a review of the 1.5 hour lecture into a 15-20 min video and cover core concepts for the exam.
• Piazza is a tool for asking questions regarding assignments, labs, or general regarding what is taught in class. These questions can be posted anonymously and will be answered by CS professors and your peers.
• TA extra help hours and the Busch Student Center by CSL (Coding and Social Lounge) at Hill Center are resources available for drop-in questions. Lastly, the RUCATS resource provides tutoring exclusively for CS111 and CS112 students to help with your assignments.

Faculty Reviewer

Professor Ana Paula Centeno