CS165: CS2 – Data Structures, Sections 001, 002, 801

Basic Course Information

Course Name:  CS165: CS2 – Data Structures, Sections 001, 002, 801

Semester: Fall 2025

Credits: 4

Prerequisites/Co-requisites: CS 162 with a minimum grade of C or CS 163 with a minimum grade of C or CS 164 with a minimum grade of C or CIS 340 with a minimum grade of C.

Meetings/Times: Section 001 – MWF 10-10:50, Section 002 – MWF 4-4:50pm, Section 801 – Asynchronous

Location: Section 001: Stadium 1205, Section 002: Pathology 101, Section 801: Online

Instructor Information

Instructor Name: Section 001 and 801 – Marcia Moraes, Section 002 – Logan Seabolt

Email: Section 001 and 801 – marcia.moraes@colostate.edu, Section 002 – logan.seabolt@colostate.edu

Phone: Marcia – 970-491-3027, Logan – 970-491-5861

Office Location: Marcia CSB 456, Logan CSB 242

Office Hours/Student Hours:  Marcia – M 11am-12pm, W 1-2pm CS 456 and Teams, Logan – TH 11:30am-1:30pm CS 242 and Teams, By Appointment

Communication Policy:

The best way to communicate with your instructors is by sending a private message on Teams. Please include course number and section, since we teach multiple courses and multiple sections. In order to better assist you, you should message the instructor that teaches your section. If you are registered for 001 or 801 sections reach out to Marcia. If you are registered for 002 section, reach out to Logan. 

  • We will do our best to respond to your emails within 24 hours during work days. If you send a message on weekends, expect that to be returned by Monday.
  • We encourage you to join us during Student Hours to discuss any questions you may have related with the course content, structure, grading, assignments; and to talk about good study practices, and how to be successful in our course.
  • For in-person students, we have required attendance for lectures and labs, lots of active learning happens during these class times, so go to your lecture and labs. If something urgent happened and you can’t come to class, reach out to your instructor as soon as you are able.

Course Materials

Textbook / Course Readings

The primary textbook for this course is a customized zyBook which includes chapters on Algorithms and Data Structures.  To acquire this book, click through a zyBooks assignment on the Assignments tab in Canvas.  Students wishing to opt out of Inclusive Access should contact the CSU Bookstore.

An optional resource is the Daniel Liang Introduction to Java Programming and Data Structures book.

Materials & Equipment

To turn in certain assignments, students may be required to scan a document or electronically edit a document to add their solution.  It is the student’s responsibility to acquire the hardware or software to be able to do this.  Online students are also required to have the required hardware and software to take the exams using the proctoring platform.  This includes a webcam and microphone and, unfortunately, is only compatible with recent Windows and Macintosh operating systems.

Course Description & Objectives

Object oriented concepts, assertions, inheritance, polymorphism, algorithms and data structures using Java.

Upon the completion of this course, students will be able to:

  • Create recursive solutions using branching recursion
  • Recognize the use of Object-Oriented Programming concepts in creating classes and objects.
  • Write Black- and White-Box unit tests
  • Add Java Generics to an existing data structure.
  • Implement a Linked List and understand the advantages/disadvantages of the structure
  • Create a Stack from scratch and use it to solve programming problems
  • Recognize the various types of Queues (Queue, Dequeue, Priority) and implement each.
  • Write a Regular Expression using PCRE syntax to match strings
  • Convert expressions between prefix, postfix, and infix using an expression tree.
  • Discover items using Binary Search Trees and B+ Trees.
  • Use a hashing algorithm to implement a HashMap

Assignments’ Description & Alignment with Course Objectives

As a student enrolled in this course, one of your responsibilities is to submit course work by the due dates listed in Canvas and zyBooks. With that said, we take our role as your instructor very seriously, and, in fact, we care about how well you do in this course and that you have a satisfying, rewarding experience.

To that end, it is our commitment to you to respond individually to the work you submit in this class and to return your work in a timely manner. Many items in this course are automatically graded.  Items that require manual grading will be graded within 1 week. (If, however, due to unforeseeable circumstances, the grading of your work takes longer than the times we have listed here, we will keep you informed of our progress and make every effort to return your work with feedback as soon as we can.)

Keep a copy of all work created for the course, including work submitted through Canvas course learning management system.

Reading Assignments are interactive readings in the zyBooks platform.  You get points for completing these interactive readings and doing their participation and challenge activities.

Lab and Programming Assignments are in the zyBooks platform and use zyLabs.  You will complete the assignment using your own IDE and paste the resulting code into zyLabs for submission.

Worksheets are done in class as part of a group activity. The results are not graded, merely marked as a participation activity/attendance.

Quizzes are done during the semester as a formative kind of assignment, meaning that you can do/redo them up to 15 times during the entire semester. The highest grade will be kept for purpose of grading.

  • Quizzes are initially due prior to the associated Exam and will be given an initial zero if not completed. Quiz retakes are then allowed through the last day of regular classes (generally the Friday before finals week).

Exams are given throughout the course.  There is a total of 6 unit exams and a comprehensive final exam.  The module exams are cumulative in that concepts covered up through and including the exam’s module may appear on the exam, however they often focus on material since the last exam (or since the start of the course for the first exam).

Course Schedule – Alignment of Course Topics, Learning Outcomes, and Assessments

To have the complete schedule and list of assignments, access our Canvas course.

If you are taking this course over the summer, please note that we go at double speed, completing an entire 4 credit course in just 8 weeks.  This means that you will have twice as much work each calendar week, it will be an equivalent workload to taking 8 credits during a regular semester for just this one course.  Please plan other courses over the summer accordingly so that you have enough time to complete each course.

Morgan Library Services Desk

The Morgan Library Services Desk provides both research (ph. 970-491-1841) and technical (ph. 970-491-7276) support. In addition, you can contact a librarian for assistance at Ask Us! or find a research guide at Research Help.

Teaching Philosophy

  • I believe that each and every student who enrolls in this course belongs here.
  • We recognize and celebrate the diverse backgrounds, experiences, and perspectives that each student brings to the classroom.
  • Learning is a collective effort, and we encourage active participation from all students. Through student-student interactions and meaningful dialogue with instructors, we aim to create a dynamic and engaging academic atmosphere.
  • Our role as educators is to provide the resources, encouragement, and community necessary for students to reach their full potential.
  • In this classroom, we will recognize our differences as our greatest strengths.
  • I’m always happy to discuss strategies to improve access and help you to locate other campus resources that can assist you.
  • I am committed to supporting your success and well-being.
  • My goal is to ensure that all students feel safe, heard, and empowered to engage fully in their learning.

Classroom Norms (or Community Agreement)

This is a 4-credit course.  The University suggests that students should expect to work 2-3 hours in addition to class meeting time per credit hour.  For students in the online class, where you are expected to watch lecture videos and do lab discussions, it is expected that you will spend 12-16 hours each week on coursework.  Some students may need more or less time. 

Even for the online section, you are expected to interact with other students taking this class through online discussions.  Online discussions are used for the Recitation and Worksheet portions of this course.  You will post your answers in a comment and will then reply to two other student’s responses to get full credit for the assignment.

Please review the core rules of netiquette for some guidelines and expectations on how to behave in an online learning environment.

CSU Principles of Community

Inclusion: We create and nurture inclusive environments and welcome, value and affirm all members of our community, including their various identities, skills, ideas, talents and contributions.

Integrity: We are accountable for our actions and will act ethically and honestly in all our interactions.

Respect: We honor the inherent dignity of all people within an environment where we are committed to freedom of expression, critical discourse, and the advancement of knowledge.

Service: We are responsible, individually and collectively, to give of our time, talents, and resources to promote the well-being of each other and the development of our local, regional, and global communities.

Social Justice: We have the right to be treated and the responsibility to treat others with fairness and equity, the duty to challenge prejudice, and to uphold the laws, policies and procedures that promote justice in all respects.

Course Policies (late assignments, make-up exams, revision policy, etc.)

This course is designed so that you can work ahead as modules are published.  You can work ahead to future modules.  However, there are due dates on each module, so you will have to keep up with the work.  While you can get ahead, you cannot get too far behind. Exams and Worksheets don’t have a late policy. Labs, Programming Assignments, and Homework Discussions have a one-week extension, except for the assignments in the last week of the course, which are due that week.

All make-up exams, assignments, extensions, or similar require written documentation from the appropriate university office.  Please work with the appropriate office for your situation, such as the Student Disability Center (SDC), Student Case Management, or other appropriate office.

This course will adhere to the CSU Academic Integrity/Misconduct policy as found in the General Catalog and the Student Conduct Code.

Academic integrity is conceptualized as doing and taking credit for one’s own work. Violations of the university’s academic integrity standards include, but are not limited to:

  • Cheating—includes using unauthorized sources of information and providing or receiving unauthorized assistance on any form of academic work or engaging in any behavior specifically prohibited by the faculty member.
  • Plagiarism—includes the copying of language, structure, ideas, or thoughts of another, and representing them as one’s own without proper acknowledgment.
  • Unauthorized Possession or Disposition of Academic Materials—includes the unauthorized selling or purchasing of examinations or other academic work; stealing another student’s work; unauthorized entry to or use of material in a computer file; and using information from or possessing exams that an instructor did not authorize for release to students.
  • Falsification—includes any untruth, either verbal or written, in one’s academic work.
  • Facilitation—includes knowingly assisting another to commit an act of academic misconduct.

Academic integrity lies at the core of our common goal: to create an intellectually honest and rigorous community. Because academic integrity, and the personal and social integrity of which academic integrity is an integral part, is so central to our mission as students, teachers, scholars, and citizens, I will ask that you affirm the CSU Honor Pledge as part of completing your work in this course.

At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services.

Generative AI tools such as ChatGPT or Claude are increasingly powerful and might be capable of solving some of the assignments. However, the assignments must be your own work and the use of these tools for generating assignment solutions is prohibited (will be treated as a violation of academic integrity).

There are multiple reasons why these tools are detrimental to your learning experience:

  • They rob you of the ability to think and learn the concepts for yourself since solving problems is an essential step to gaining a solid understanding of the material.
  • You will struggle with the in-classroom quizzes and exams where you will not have access to these tools.
  • While we acknowledge that these tools are likely to become an important of a software engineer’s workflow in the future, you are much more likely to use these tools in an effective manner if you already have expertise in the relevant technical topics. Developing such expertise requires putting in the effort to learn these topics without the assistance of these tools.
  • These tools are prone to generating imperfect or even incorrect solutions, so trusting them blindly can lead to bad consequences.

Ultimately, you will get out of the class what you put in. Simply copying and pasting code from ChatGPT/Claude will not lead to any learning. If you are stuck on the assignments, reach out to the course staff. The course staff is here to help you!

Further information about Academic Integrity is available at CSU’s Academic Integrity – Student Resources.

Grading Policy

Below is the default grading scheme for this course.  While the instructor reserves the right to change these cutoffs, you will not receive a grade lower than what is shown.  If you get an average of 80% or more, you will get a B (not a B-) but, depending on the score, the instructor may set cutoffs so that with a high enough score above an 80 you might get a B+ or A-.

Table 1. Grade Range

GradeRange
A90%+
B80%+
C70%+
D60%+
F< 60%

Table 2. Assignment Categories and Grade Percentage

ASSIGNMENTGRADE PERCENTAGE
zyBooks Reading5%
Lab Assignments10%
Programming Assignments10%
Worksheets / Discussions / Participation5%
Retrieval Practice Activities (RPA)/Quizzes10%
Module Exams40%
Final Exam20%
Total:  100 %

Additional Syllabus Information and Policies

Suggested Study Methods

In order to be successful in our course you will need:

  • Space—Establish a comfortable and well-organized physical workplace
  • Time management skills—Set personal study and “classroom” time as you would do for a traditional course
  • Organization skills — keep everything in a single location. Maintain electronic backups of all class materials
  • Communication skills—Demonstrate a willingness to interact with your instructor and classmates through email, phone calls, discussion boards, and active participation in all class activities
  • Initiative—Seek help from your instructor and classmates, ask questions as they arise
  • Discipline—Pace yourself, complete all activities and assignments before the due date, follow through on all class requirements to completion

The more closely you adhere to the recommendations above the greater your chances of having a successful semester and a rewarding learning experience.

Third-party Tools/Privacy

Please note that this course may require you to use third-party tools (tools outside of the Canvas learning management system), such as Teams, Google Hangouts, and others. Some of these tools may collect and share information about their users. Because your privacy is important, you are encouraged to consult the privacy policies for any third-party tool in this course so that you are aware of how your information is collected, used, and shared.

Copyrighted Course Materials

Please do not share material from this course in online, print, or other media. Course material is the property of the instructor who developed the course. Materials authored by third parties and used in the course are also subject to copyright protections. Posting course materials on external sites (commercial or not) violates both copyright law and the CSU Student Conduct Code. Students who share course content without the instructor’s express permission, including with online sites that post materials to sell to other students, could face appropriate disciplinary or legal action.

For additional information and policies use the QRN code provided or access https://col.st/2FA2g.