Course Syllabus

CIS 22C: Data Abstraction and Structures

Course Instructor: 
Jennifer Parrish
M.S. Computer Science

Contact Information:
  • Email: parrishjennifer (at) fhda (dot) edu
  • Office Phone: 408-864-8947

Office Location:
  • Building F5, Room 1F

Office Hours:
  • Monday 8:30am - 9:20am (F5-1F)
  • Monday 8:00pm - 9:15pm (online)
  • Tuesday 12:30pm - 1:20pm (F5-1F)
  • Wednesday 8:30am - 9:20am (F5-1F)
  • Wednesday 8:00pm - 9:15pm (online)
  • Thursday 12:30pm - 1:20pm (F5-1F)
  • Friday 9:00am - 10:15am (online)

Teaching Assistants:
  • Pruthvirajsinh Punwar

Online Lab:
  • All Lab Assignments Will Be Assigned on a Monday and Due the Following Monday on Canvas, unless otherwise noted in the assignment description.
  • Note: The instructor will be online and available by email on Mondays at the above time to answer questions regarding the lab. However, you are not required to do your lab during this time. All lab assignments will be due on a Monday.

Course Description: 
  • Application of software engineering techniques to the design and development of large programs; data abstraction and structures and associated algorithms: stacks, queues, linked lists, trees, graphs, and hash tables; internal and external sorting; use of recursion; team project.

  • CIS 22B or CIS 35A. Advisory: MATH 212 or equivalent.

Student Learning Outcomes:
  • Read, analyze and explain advanced data structures programs. 
  • Design solutions for advanced problems using appropriate design methodology incorporating advanced data structures programming constructs.
  • Create and analyze efficiency of advanced level data structures algorithms, code, document, debug, and test advanced data structures programs using multiple source and header files.

Course Website:
  • Course information, lectures, labs, and assignments can all be found on our main course website:
  • We will also be using Canvas for assignment submissions and other tasks.

Recommended Text: 
  • Carrano, Frank M. and Timothy M. Henry. Data Abstraction & Problem Solving with Walls and Mirrors. 7th Edition. Pearson. ISBN: 9780134463971

Important Dates: 

  • Monday, April 9 - First Day of Spring Quarter

  • Saturday, April 21 - Last Day to Add Quarter-Length Classes

  • Sunday, April 22 - Last Day to Drop for a Full Refund or Credit

  • Sunday, April 22 - Last Day to Drop with No Record of Grade

  • Friday, May 4 - Last Day to Request a Pass/No Pass Grade

  • Monday, May 28 - Memorial Day Holiday - Campus Closed
  • Friday, June 1 - Last Day to Drop with a "W"

  • Monday, June 25 - Friday, June 29 - Final Exam Week

Class Atmosphere: 

  • Most important: Students are expected to treat each other and the instructor courteously and respectfully.
  • Students are expected to behave professionally, both in terms of their demeanor in class and in terms of their approach to their assignments.
  • Students are expected to be on time. If you must be late, please enter the room quietly.
  • During lecture, students are to be quiet and attentive when their classmates or instructor are speaking.
  • During lecture, students are to have all of their screens turned off and cell phones put away.
  • Students are expected to participate in all in-class activities.
  • Students are expected to follow the De Anza Student Code of Conduct as outlined in the Online Student Handbook and by Foothill-De Anza Administrative Policies 5510 and 5520.

Academic Success and Support Services:
  • If you have, or think you have, a disability in any area such as mental health, attention, learning, chronic health, sensory, or physical, please contact Disability Support Services (DSS) to arrange a confidential discussion regarding equitable access and reasonable accomodations.
  • If you are registered with DSS and have accommodations set by a DSS counselor, please be sure that your instructor has received your accommodation letter from Clockwork early in the quarter to review how the accommodations will be applied in the course.
  • Students who need accommodated test proctoring must meet appointment booking deadlines at the Testing Center.
    • Exams must be booked at least five (5) business days in advance of the instructor approved exam date/time.
    • Final exams must be scheduled seven (7) business days/weekdays in advance of the instructor approved exam date/time.
  • For more information, please visit the Disability Program Support Services website or visit the DSS in the RSS Building, Suite 141, or call (408) 864-8753.

Plagiarism and Cheating: 

  • The Student Code of Conduct states that plagiarism, in-class cheating, out of class cheating and furnishing false information are not allowed under any circumstances.
  • Any student found violating the Academic Integrity Section of the Student Code of Conduct will be confronted by the instructor. 
  • Depending on the nature and extent of the violation, the student may receive a warning, may receive a lowered grade on the assignment or in the course, or may be failed on the assignment or in the course. 
  • The student may also face administrative consequences, including being placed on disciplinary probation, being placed on disciplinary suspension, being expelled, or being subject to arrest and or heavy fines if the academic dishonesty offense violates state or federal law.
  • In brief: Cheating in any form is a serious matter and will not be tolerated.

Assignment Integrity:
  • You are expected to work alone on some assignments and with other students on other assignments as listed in the assignment specifications. When working alone, you must do all your own work. You may discuss assignments with other people, but ultimately you must write the code yourself. Not writing all the code yourself is cheating.
  • When working with others, the assignment specifies how you must contribute. Group work can accelerate learning, but only when each student takes responsibility for mastering all the assigned material. Little is learned if each student works only part of the assignment and merely copies answers for the rest.
  • If the assignment seems too hard to complete without more help, whether working in groups or not, then you should contact me. My job is to help you understand the material. As an option, you may discuss your assignment, and show your code to, another De Anza College Instructor, if they agree. Note that this list does not include tutors. Tutors must follow the same rules for acceptable help as other non-students.
  • You may still help other students, and receive help from other students (or tutors), and I encourage you to do so. The following lists are intended to help clarify the rules about appropriate assistance for assignments:

Acceptable Help:

  1. Showing others how to use or solve problems with computer applications such as compilers, text-editors and debuggers, or receiving such help.
  2. Discussing problems and ideas for solving problems with other students or tutors.
  3. Describing your algorithms to other students using diagrams, psuedocode or natural-language statements (unless that was the assigned homework).
  4. Looking at another person's code and pointing out an error, as long as you do not write, type, dictate, or otherwise communicate the actual program code required by the assignment.
Tip: if you need to write code when explaining a problem, then use an example that is not part of the assignment.

Unacceptable Help:
  1. Typing or writing any homework solution (or parts of a homework solution) for another person, or allowing someone to type or write a homework solution for you.
  2. Looking at another person's homework code while typing or writing your homework code.
  3. Listening to someone else dictate homework code while typing or writing, or dictating to someone else the homework code to type or write.
  4. Providing a copy of your assignment solution, or any other person's solution, to anyone who is taking this course or might take this course in the future, including posting your solution online or emailing it to someone.
  5. Receiving a copy of an assignment solution, or a part of a solution, from a former student of one of my classes or another student in this class until after you make a final submittal of your assignment and the due date has passed.
  6. Uploading your work online for other students to view or viewing another student's work online.

These are not all-inclusive lists. Students are expected to interpret and apply the overall concepts of academic honesty in good faith. If you have questions about what is permissible, please ask me.

Also, note that these rules do not prohibit you from sharing assignment solutions with other students after after both you and the other student have made a final submission of the assignment and the due date has passed. Reviewing other people's solutions can help you learn, but it is cheating unless you have already completed the assignment on your own.

Grading Policies: 

  • Grading is done by a point system, combined with a percentage scale, to determine the final grade.
  • Percentage of grade that contributes to overall final grade for each component of the course are as follows:
15% Lab Assignments
15% Course Project 
15% Weekly Quizzes

20% Midterm Exams (2 Exams)
35% Final Exam
  • Grades will be assigned as follows:
97.0 - 100.0%       A+
93.0 - 96.9%         A
90.0 - 92.9%         A-
87.0 - 89.9%         B+ 
83.0 - 86.9%         B
80.0 - 82.9%         B-
77.0 - 79.9%         C+
70.0 - 76.9%         C
67.0 - 69.9%         D+
63.0 - 66.9%         D
60.0 - 62.9%         D-
0.0 - 59.9%           F

Assignments and Late Policies: 

  • All homework assignments will be provided with a due date that allows reasonable time for completion.
  • All work must be turned in on time.
  • However, students can turn one lab assignment in up to 2 days late for 80% credit. Students may submit a second late lab assignment up to 2 days late for 50% credit. The student must email the instructor to get permission before submitting the missed assignment on Canvas. No late assignments will be accepted by email. No late assignments will be accepted more than 2 days late. No exceptions.
  • Once per week, there will be a short quiz covering material from the past week's lectures and homework assignments. Quizzes must be taken on time and in class.
  • No makeup quizzes will be given. However, each student's lowest quiz score will be dropped at the end of the quarter, i.e. not considered as part of the final grade for the course.
  • Midterm exams must be taken in class on the date given. All exams are written on our course schedule to give students sufficient notice. 
  • In the case of illness or emergency, and at the instructor's discretion, a student who must miss a midterm exam will have their final exam score substituted for the missed midterm exam.
  • You must pass the final exam to pass the class.
  • The final exam must be taken on the date stated on the schedule. No makeup final exams will be given.
  • No extensions will be granted on the course project. The student must be present in class and the course project must be submitted on Monday, June 25 from 9:15am-11:15am. The course project will not be accepted after this time. No exceptions.

~ Have a Great Quarter! ~