CSCI 235     ANALYSIS & DESIGN 2     HUNTER COLLEGE     CITY UNIVERSITY OF NEW YORK

Spring 2025     Tuesdays and Fridays   11:10 AM to 12:25 PM in Hunter West 714

INSTRUCTOR
Genady Maryash   gmaryash@hunter.cuny.edu   office hours imediately after each lecture and by appointment.

TEXTBOOK
Data Abstraction and Problem Solving with C++: Walls and Mirrors, 7th Edition eText, Frank M. Carrano, ISBN-13 978-0134463971. Must be rented ($39) or purchased ($59) from Vitalsource.com in order for the chapter links to work!

SOURCE CODE FROM TEXTBOOK AND SLIDES
TextbookSourceCode.zip

OTHER RESOURCES
Linux on Windows NEW Video Tutorial
Open Data Structures in C++ opendatastructures.org
Prof. Stewart Weiss’ notes
Linux on Windows Tutorial: okunhardt.github.io/documents/Installing_WSL.pdf

COURSE OBJECTIVES
This course is the second in a three-course series, and it is a major stepping-stone in your software development journey. The primary focus of this course is the design and analysis of algorithms and abstract data types. To this end it introduces elementary data structures with related algorithms and their use in problem solving. The course also covers core computer science concepts such as abstraction, algorithm complexity, performance analysis and the tradeoffs between running time, storage size, clarity and extensibility that are at the core of software design. As a sequel to CSCI 135 it will also enhance your programming skills in C++ and Object Oriented Programming by introducing new tools such as Templates, Inheritance, Polymorphism, extend your understanding of pointers and dynamic memory allocation.

PREREQUISITES
CSCI 135 and CSCI 150.

MAIN COURSE WEBPAGE
maryash.github.io/235/index.html
Please check this page regularly for announcements, updates, lecture notes and schedule. All course materials will be gradually posted here.

PROGRAMMING PROJECTS
I hope you will enjoy the programming projects! There will be seven programming projects. You will have a week to complete each project. Every program must comply with the Programming Guidelines. You must read this document, it contains guidelines about submission, lateness, plagiarism, grading and logging into your Linux accounts.

COURSE FINAL GRADE COMPOSITION
2% for enrolling and attending workshops, 5% for each of the seven projects (together they are the most important part of your grade; Project 0 is 1%), 5% all lecture activities, 5% all study questions, 17% the midterm, and 35% the final exam. You must pass the final to pass the course.

QUESTIONS
Ask as many as you need during lecture! And get additional help with your questions and projects In the tutoring lab!

BLACKBOARD & BRIGHTSPACE
We will use BlackBoard or BrightSpace announcement emails and for one or two synchronous lectures during the semester. Make sure that you have configured BlackBoard to use your preferred email address (your Hunter email address, by default). You must regularly check my announcements on BrightSpace and your Hunter email. This is how you will receive important course-related communication.

GRADESCOPE
You will submit all projects electronically through Gradescope. You will see your grades (including exam grades) on Gradescope as well. An invite email was sent to you before the first lecture. If you have not received it, ask to send you another one: you will need to email him or her your full name, EMPLID, and a working email address.

SOFTWARE
This course it taught in Linux and your programs must be able to run on a Linux platform. On campus, you may use the 1001C and 1001B labs to do your work for this course. The standard Linux/Unix/Mac OS C++ compiler is g++. If you wish to use a home computer, you can use any version of Linux. We recommend Ubuntu Linux – it the one used by Gradescope. Or use a Mac. Macs have Unix command line and g++. You could also use a Linux environment included with most recent versions of Windows. Check out this excellent tutorial: okunhardt.github.io/documents/Installing_WSL.pdf or just google it. We have had problems in the past with students programming in a native Windows environment at home, and their programs don’t work in the Linux labs and might be incompatible with Gradescope.

SYLLABUS COMPLIANCE
Except for changes that substantially affect implementation of the grading policy, this syllabus is a guide for the course and is subject to change. In particular, the course schedule on the webpage, including topics, readings and project assignments, is subject to change. Any changes will be announced in class and on the course webpage. Be sure to check for updates online regularly.

POLICY ON ACADEMIC INTEGRITY
There are plenty of resources and examples available that you may consult and understand to incorporate those ideas into your projects. However, you must ultimately write your programs yourself. You are actively encouraged to discuss ideas with one other. However, unless otherwise stated, you may not give code to or receive code from anyone else. If you are uncertain about the appropriateness of a particular case, you may ask.

In this course, special attention is given to contract cheating, where students have work completed on their behalf that is then submitted for academic credit. All submitted projects will be thoroughly checked for authenticity/originality with screening software in order to prevent contract cheating. Please read more information on Contract cheating from http:// en.wikipedia.org/wiki/Contract_cheating.

Hunter College regards acts of academic dishonesty (e.g., plagiarism, cheating on examinations, obtaining unfair advantage, and falsification of records and official documents) as serious offenses against the values of intellectual honesty. The college is committed to enforcing the CUNY Policy on Academic Integrity and will pursue cases of academic dishonesty according to the Hunter College Academic Integrity Procedures.

ADA COMPLIANCE
In compliance with the ADA and with Section 504 of the Rehabilitation Act, Hunter College is committed to ensuring educational access and accommodations for all its registered students. Hunter College’s students with disabilities and medical conditions are encouraged to register with the Office of AccessABILITY for assistance and accommodation. For information and appointment contact the Office of AccessABILITY located in Room E1214 or call (212) 772-4857 /or VRS (646) 755-3129.

CUNY POLICY ON SEXUAL MISCONDUCT
In compliance with the CUNY Policy on Sexual Misconduct, Hunter College reaffirms the prohibition of any sexual misconduct, which includes sexual violence, sexual harassment, and gender-based harassment retaliation against students, employees, or visitors, as well as certain intimate relationships. Students who have experienced any form of sexual violence on or off campus (including CUNY-sponsored trips and events) are entitled to the rights outlined in the Bill of Rights for Hunter College.

a. Sexual Violence: Students are strongly encouraged to immediately report the incident by calling 911, contacting NYPD Special Victims Division Hotline (646-610-7272) or their local police precinct, or contacting the College’s Public Safety Office (212-772-4444).

b. All Other Forms of Sexual Misconduct: Students are also encouraged to contact the College’s Title IX Campus Coordinator, Dean John Rose (jtrose@hunter.cuny.edu or 212-650-3262) or Colleen Barry (colleen.barry@hunter.cuny.edu or 212-772-4534) and seek complimentary services through the Counseling and Wellness Services Office, Hunter East 1123. CUNY Policy on Sexual Misconduct:
http://www.cuny.edu/about/administration/offices/la/Policy-on-SexualMisconduct-12-1-14-with-links.pdf