Close
Register
Close Window

Software Design and Data Structures

Chapter 1 Introduction

Show Source |    | About   «  0.1. Admin Placeholder   ::   Contents   ::   1.2. Setting Up Your Programming Environment  »

1.1. Welcome to CS2114

1.1.1. Objectives

Upon completion of this module, students will be able to:

  • Describe course goals and objectives

  • Describe course logistics and assessment structure

  • Describe and choose which course communication option (piazza, email, office hours) is appropriate for a given situation

  • Distinguish practices and behaviors that are consistent with the Honor Code vs those that are not

  • Identify and use CS 2114 student support resources (office hours, piazza, synchronous review sessions, synchronous lab sessions, course media, etc)

  • Locate the course schedule and navigate course content

1.1.2. Welcome to CS2114

Welcome to CS2114!

This module will help you acclimate to the course and course logistics and learn what is expected of you as a CS 2114 student. The course will include a number of different types of assessments. We also provide a number of drops for a selection of individual assessments. Further specifics can be found within the Course Syllabus which you should review carefully. Note that you will need to complete a number of learning activities each week, these typically include reviewing content modules, and completing section quizzes, Labs, Post Labs, OpenDSA assignments, Programming projects, Tests, and other learning activities. Be sure to monitor the course schedule and plan your time accordingly.

Note the following:

Labs will be due electronically 24 hours after the end of your designated lab time (unless otherwise specified). Be sure to review your registration details and make note of your lab time and location. Review the syllabus for details of the late submission policy for labs and programming projects. Pay close attention to the due dates for these and all other assessments. Set up a plan for how to keep up with your weekly work and projects.

1.1.3. Course Logistics

This course is a programming-intensive exploration of software design concepts and implementation techniques. It builds on the student’s existing knowledge of fundamental object-oriented programming.

To help you acclimate and prepare for a successful semester we encourage you to learn about what is expected from a CS2114 student, the various course activities and timelines, course logistics, and the many support resources that the course team has put in place to help you.

Take a moment to review the course syllabus to learn about what we expect from students taking the course, course logistics, information regarding course communication, assignments and grading, and the VT Honor Code. Be sure to also visit the Course Schedule for details on weekly activitie

1.1.4. Getting Help

If you need assistance then you may use the Piazza course forum (accessible via the course menu on the left) or visit us during our office hours. Programming help is NOT provided through email. Students must use the course web forums and office hours for programming help.

Remember Students are expected to conduct themselves in an ethical, professional manner, consistent with the Virginia Tech Honor Code. Links to an external site. All work should be done on an individual basis and should not be accomplished with any help other than the course instructor, the course TAs, and ACM or UPE tutors. Check out the Ethics section of the syllabus for more specifics.

We have provided a number of avenues for help, continue reading to learn more about the awesome support available to you.

Course Forum

You are expected to monitor the class forum on Piazza for ongoing information and tips. Learn early how to search piazza and monitor instructor posts. You should also use Piazza when seeking assistance or offering help, however remember that you are NOT to post code on a public Piazza post. Posting code on public Piazza posts opens you up to Honor Code issues. Piazza should NOT be used to vent or to explore disagreements.

Remember that one goal of this course is to help you develop the skills to be an effective developer, a self-directed problem-solver capable of independent work. Before posting a new question on Piazza you should first explore the error/problem you are attempting to resolve then try to find the answer. You should search Piazza, Java documentation, Course material, the web, or some Java or Eclipse manual or help resource. Whichever avenue you choose be sure that your use of Piazza, or any other resource, always adheres to the requirements of the VT Honor Code.

Office Hours

We hold office hours at various times throughout the week, be sure to check our office hours page for the schedule of days and times.

You may visit during office hours for assistance with Projects and Labs, or even to ask questions about course topics. We encourage you to start labs, assignments, and projects as early as possible so that you can make the best use of these support options throughout the entire week.

Remember that we can only spend a few minutes with you during each visit.

Having specific questions about a project, bug, concept, or topic of interest will help you make the most out of the time spent speaking with a member of the course team. If you are seeking help with a bug you encountered you should first identify the symptoms (error messages, inappropriate behaviors or functionality, etc.), review any error messages received, narrow down the possible source of the problem by using the error feedback to guide your search. You should also try to reproduce the error so that you can demonstrate it to us. You want to have as much information ahead of time, this will help you to discuss the issue more effectively when you visit. This will also help you to develop your own debugging skills as well. Remember that one of the objectives is to help you learn how to debug on your own, this is the first step.

1.1.5. Support Projects

Throughout the course you will be using a number of CS 2114 support projects, namely CS2-Support, CS2DataStructuresLib, CS-GraphWindowLib.

These projects provide students with a number of necessary features and facilities which will be of use to you throughout your development and testing.

These projects are required for many of the sample projects to function as intended.

They are also required for Labs and course projects, students will not be able to complete Lab and project tasks unless these projects have been downloaded to your development environment and are open and available for use.

To download these projects you must first complete the Eclipse configuration steps described in the Pre-Lab part of Lab 2. There will be links to the lab pages from the Course Schedule.

Upon completion of these steps you will then be able to download these projects via Eclipse.

Within Eclipse you may download these by using the blue down arrow icon or using the Project Menu and selecting “Download Assignment…

1.1.6. Web-CAT and Lab Sections

  • CS 2114 students must register for both a Lecture and a Lab*. Registering for a Lab section means that your WebCAT profile will be configured to allow you to electronically submit labs and assignments to that section.

You are to contact instructors immediately if you

  • Registered for the course (or a lab) after the first day of classes

  • Switched Lab sections on or after the first day of classes

  • Cannot access Web-CAT (or are registered for the wrong Web-CAT Lab section) during the second week of classes

The course team understands that students may, on rare occasions, need to make adjustments to their schedule during the first couple weeks of the semester. If a student switches Lab sections (i.e. registers for a different Lab section than they were previously assigned to in Web-CAT) the student MUST contact instructors. any of the Web-CAT section configuration issues listed above.

Note that Web-CAT changes may (in most circumstances) take days to complete, students are therefore advised to continue working towards the deadline specified for their existing lab section (unless otherwise advised).

1.1.7. Checkpoint

Based upon the content provided so far, please answer these questions to gauge your understanding of the Honor Code, the Course Syllabus, and course logistics.

The following questions will help ensure you understand and are aware of:

  • The VT Honor Code and what behaviors constitute unethical academic conduct

  • The CS 2114 Course Syllabus and logistics

  • The course support options available to you

   «  0.1. Admin Placeholder   ::   Contents   ::   1.2. Setting Up Your Programming Environment  »

nsf
Close Window