<HTML> <h1>CMPU-102-52 Computer Science II: Data Structures and Algorithms - Spring 2019 syllabus</h1> <h2>Course description</h2>

<p>An algorithm is the specification of a method to solve a given problem. A data structure is a specific way of organizing data so that it can be used efficiently by an algorithm. This course approaches data structures and algorithms from a practical perspective,

  using Object-Oriented Programming (OOP), and particularly Java, as a framework to learn and experiment with the concepts being discussed.</p>

<p>Topics covered include:</p> <ul>

  <li>Object-Oriented Programming (OOP)
      <ul>
          <li>Encapsulation</li>
          <li>Inheritance</li>
          <li>Polymorphism</li>
          <li>The Java programming language</li>
          <ul>
              <li>OOP in Java</li>
              <li>Operators</li>
              <li>Expressions</li>
              <li>Control flow</li>
              <li>Testing and debugging</li>
              <li>Java documentation (Javadoc)</li>
              <li>Exceptions</li>
              <li>The collections framework</li>
              <li>Input/output</li>
              <li>Graphical User Interfaces (GUI)</li>
          </ul>
      </ul>
  </li>
  <li>Abstract data types
      <ul>
          <li>Lists</li>
          <li>Queues</li>
          <li>Stacks</li>
          <li>Maps</li>
          <li>Trees</li>
      </ul>
  </li>
  <li>Data structures
      <ul>
          <li>Arrays</li>
          <li>Linked lists</li>
          <li>Array lists</li>
          <li>Hash sets</li>
          <li>Hash maps</li>
          <li>Tree sets</li>
          <li>Tree maps</li>
      </ul>
  </li>
  <li>Algorithms
      <ul>
          <li>Searching</li>
          <li>Sorting</li>
          <li>String parsing using Finite State Machines (FSMs)</li>
          <li>Arithmetic expression evaluation</li>
      </ul>
  </li>

</ul>

<h2>Prerequisites</h2> <ul>

  <li>CMPU-101</li>

</ul>

<h2>Professor</h2>

<p>Rui Meireles</p>

<p>Website: <a href=“https://www.cs.vassar.edu/~rpachecomeireles”>www.cs.vassar.edu/~rpachecomeireles</a></p>

<p>Email: firstname.lastname@vassar.edu (expected response time: 24 business-day hours, i.e. no response guarantee on weekends)</p>

<p>Office: Sanders Physics 304</p>

<p>Office hours: Mondays and Wednesdays, 12-2PM. Other times by appointment.</p>

<h2>Coaches</h2> <ul>

  <li>Colburn Morrison, Coaching hours: Mondays 4-6PM, Tuesdays 4-6PM, Thursdays 4-7PM, always at SP307</li>
  <li>Henry Fosmire, Coaching hours: Fridays 2-6PM, Saturdays 12-3PM, always at SP307</li>
  <li>Lindsey Coffee-Johnson, Coaching hours: Wednesdays 3-5:30PM, Thursdays 10AM-12PM and 1:30-4PM, always at SP307</li>

</ul>

<h2>Textbook</h2>

<ul>

  <li>Introduction to Programming Using Java, Seventh Edition by David J. Eck. Online at <a href="http://math.hws.edu/javanotes">http://math.hws.edu/javanotes</a>.</li>
  <li>Objects First with Java - A Practical Introduction Using BlueJ, Sixth Edition by David J. Barnes and Michael Kölling.</li>
  <li>Java API. Online at <a href="http://docs.oracle.com/javase/10/docs/api/">http://docs.oracle.com/javase/10/docs/api/</a>.</li>
  <li>Official Java Tutorial. Online at <a href="http://docs.oracle.com/javase/tutorial/">http://docs.oracle.com/javase/tutorial/</a>.</li>

</ul>

<h2>Grading</h2>

<ul>

  <li>Labs: 15%</li>
  <li>Homework projects: 35%</li>
  <li>Midterm: 25%</li>
  <li>Final exam: 25%</li>

</ul>

<h2>Class attendance</h2>

<p>Class attendance is not mandatory but strongly encouraged. Students are responsible for ALL information given in class, whether or not it is presented in any other form.</p>

<p>If a student misses a class he/she should consult with classmates to find out about any information—academic, administrative, or other—that he/she may have missed.</p>

<h2>Use of electronic devices in class</h2>

<p>Use of electronic devices for note taking during lectures is permitted. However, devices must be in silent mode at all times so as to not disturb the class. The use of electronic devices for non-class related purposes is prohibited.</p>

<p>Labs will require the use of a computer. Students may elect to use the computers provided by the College or their own if they so prefer.</p>

<h2>Homework projects</h2>

<p>Homework projects shall be used to consolidate and expand upon concepts introduced in class. They will consist of Java programming assignments.</p>

<p>You can expect a total of 4 projects. 3 of increasing size and complexity and a short final one. The contribution of each homework assignment to the final grade will be proportional to its size and complexity. Out of the 35% points dedicated to homework,

  homework #1 will contribute 11%, homework #2 29%, homework #3 51%, and homework #4 9%.

</p>

<h2>Policy on collaboration and academic integrity</h2>

<p>All labs, homework projects, and exams should be completed by each student by themselves.</p>

<p>Copying solutions is strictly forbidden.</p>

<p>General discussions of approaches and techniques are allowed.</p>

<h2>Useful student resources</h2>

<ul>

  <li>The Quantitative Reasoning Center (<a href="http://ltrc.vassar.edu/qrc/">ltrc.vassar.edu/qrc/</a>) helps students improve their analytical skills pertaining to quantitative subjects.</li>
  <li>The Writing Center (<a href="http://ltrc.vassar.edu/writing-center/">ltrc.vassar.edu/writing-center/</a>) helps students improve the clarity and cogency of their writing.</li>

</ul>

<h2>Accessibility and educational opportunity</h2>

<p>Academic accommodations are available for students registered with the Office for Accessibility and Educational Opportunity. Students in need of ADA/504 accommodations should schedule an appointment with the professor early in the semester to arrange

  for said accommodations.</p>

<h2>Learning environment</h2>

<p>Vassar College is committed to providing a safe and respectful learning environment for all students. An environment free of all forms of discrimination and harassment, including sexual assault, domestic violence, dating violence, and stalking. Vassar

  College has staff members trained to support students in navigating campus life, accessing health and counseling services, providing academic and housing accommodations, helping with legal protective orders, and more:</p>

<ul>

  <li>Counseling Service (<a href="http://counselingservice.vassar.edu">counselingservice.vassar.edu</a>, 845-437-5700)</li>
  <li>Health Service (<a href="http://healthservice.vassar.edu">healthservice.vassar.edu</a>, 845-437-5800)</li>
  <li>Charlotte Strauss-Swanson, SAVP (Sexual Assault and Violence Prevention) director (<a href="http://savp.vassar.edu">savp.vassar.edu</a>, 845-437-7863)</li>
  <li>SART (Sexual Assault Response Team) advocate, available 24/7 by calling the CRC at 845-437-7333</li>
  <p>The SAVP website and the Title IX section of the EOAA website (eoaa.vassar.edu/title-ix/) have more information, as well as links to both on- and off-campus resources.</p>

</ul> </HTML>