CISC2200 - Fall ’24

Syllabus

Course Description

This class studies abstract data types (their specification, application and implementation) including:

  • list
  • stack
  • queue
  • tree
  • graph

An emphasis on object oriented engineering principles such as encapsulation, inheritance and polymorphism. Problem solving using recursion, analysis and comparison of sorting/search algorithms are also studied. The course is taught in C++.

To be determined how much content will live here compared to google / blackboard / github.

Topics

  • C++ and OO concepts review:
    • modularization
    • encapsulation
    • inheritance and polymorphism
    • pointers and dynamic variables
    • template class/function
  • Abstract data type introduction: unsorted list
  • Sorted list, stack, queue
  • Advanced topics on list
  • Recursion
  • Priority queue, heap
  • Tree, graph

Instruction

Lecture: Monday/Wednesday 1-2:15pm, 104W-324

See my rrutherford4 homepage for office hours and contact information.

Discussion / Q&A

Unless another tool is decided on, we will host discussions on Blackboard as needed.

Attendance

Attendance of lecture is mandatory. See section 2.3 of the Fordham Undergradutate Faculty Handbook for more concrete information.

Expectation

Students are expected to spend five to eight hours (not including the lecture) each week in the assigned reading, homework and lab projects. Students are expected to read the assigned chapter of the textbook before the class, and participate in class discussions as appropriate.

Assignment

Submissions turned in late will be penalized, and no submission is accepted one week after its due date. You can write to the instructor to ask for an extension of up to one week for reasons such as illness, heavy workload or other reasons. The maximum number of extensions per person is three. It’s the student’s responsibility to notify the instructor if there is any difficult in submitting programming assignment on line right away by email, and follow up with the instructor on next class.

Academic Integrity

You should only hand in your own work for assignments (written or programming). Copying solutions from others, or from the Internet will be penalized as violation of academic integrity. Equally important, you should not let other students copy your solutions to assignments. Please review the Academic Integrity Policy of Fordham

Artificial Intelligence

Review the Fordham AI for information about usage of AI.

We will be going with the “Limited AI approach”:

Limited usage of generative AI tools may be allowed for specific assignments in this course, enabling exploration of ideas, complex data analysis, and creative solution development, when explicitly permitted by the instructor. When using these tools, it is mandatory to clearly indicate the sections of your work that were generated using them for proper attribution and transparency, and indicate the prompts and software versions that were used. It is critical to adhere to ethical standards by refraining from activities like plagiarism or creating misleading content. Additional guidelines or restrictions will be provided for specific assignments.

Warning

Your quizzes and exams will be pen and paper, so keep this in mind throughout the course.

Grading Criteria

Your grade will regularly be updated in Blackboard based on the following rubric:

Final grade is based on the weighted sum of the following course works, with the exception that if one fails the final exam, then one fails the class.

Component Weight
Labs and Projects 35%
Quizzes (5-6) 10%
Participation 5%
Midterm 25%
Final Exam 25%

Quizzes

Quizzes will be given in-class, using pen-and-paper. If you are unable to attend class, you have a few options:

  • Attend Office hours to do make-up quiz
  • Schedule an additional office hours to make-up quiz
  • Take quiz over zoom

In cases where there are people taking quizzes at different times, quizzes may be modified slightly to avoid potential issues with sharing test material.

For all Quizzes, Midterms and Finals, you will be allowed one a4 piece of paper with hand-written notes. You will turn this in (if you used one) with your quiz / exam, and it will be returned with your graded quiz / exam.

Quiz / Midterm corrections

Excluding the final exam (the final exam may be curved if necessary), test corrections will be optional assignments that can be turned in the next class after a graded quiz has been returned.

Test corrections will apply the following function to your grade on a given test, where x is the percentage of questions on the quiz you got right initially, and y is the percent of test corrections you were able to successfully do (you should really have y=100%…):

f(x,y)=x+(1x)(y2)

So, for example, say you have a 70%, and you get 100% on your test corrections, you would end up with:

f(0.7,1)=0.7+(10.7)12=0.7+(0.3)(0.5)=0.85

Extra Credit

If you submit your test corrections and you ended up with 0.5 points, your score will be rounded up. Any extra credit questions on the test will not be eligible for test corrections.

Office of Disability Services

Per section 8.2 of the Fordham Undergradutate Faculty Handbook:

If you are a student with a documented disability and require academic accommodations, please register with the Office of Disability Services for Students (ODS) in order to request academic accommodations for your courses. Please contact the main ODS number at 718-817-0655 to arrange services. Accommodations are not retroactive, so you need to register with ODS prior to receiving your accommodations. Please see me after class or during office hours if you have questions or would like to submit your academic accommodation letter to me if you have previously registered for accommodations.