NB: THIS IS A MOCK SITE FOR A TEACHING DEMONSTRATION
Data Structures and Algorithms (CSCI 232)¶
- Term: Spring 2025
- Department: Computer Science
- Instructor: Isaac Overcast (iao2122@columbia.edu, he/him)
- Location: University Hall 210
- Day/Time: Monday March 24 (10-11am)
- Office hours: By request (email me)
Bulletin: Advanced data structures and programming techniques and their application. Topics include: trees, balanced trees, graphs, dictionaries, hash tables, heaps. Examines the efficiency and correctness of algorithms.
Organization: Each meeting will be a mix of lecture, in-class "active" learning, and group activities. In addition a lot of work is assigned outside of class, including assignments, reading, and watching video tutorials. An example session would include a lecture to introduce a general concept with examples, followed by a group active-learning exercise in which students implement code with pair-programming.
Equipment: All software and materials for the course are open access (available online for free) including assigned readings and videos. Students will develop code on their own computers, no matter if they are running Linux, Mac, Windows, or Chrome OS. This will require student to install free software on their computers.
Assessment/Grades: Grades will not be curved. However, your grade will be assigned relative to the performance of your peers. The maximum grade will earn an A, and grades that are less than one-half of that maximum grade will be assigned an F. Between these values (max and ½ max) intervals equating to letter grades are divided equally. Grades are based on participation (attendance and discussions), assignments, projects proposals, and project presentations, and the final project.
- 25% Participation
- 35% Assignments
- 20% Midterm exam
- 20% Final exam
Participation: In addition to attendance you are expected to contribute to discussions in class by asking questions, and to interact with your peers through breakout session code reviews. Participating in the CSCI 232 Discord Server also 'counts' as participation.
Assignments: Code-based assignments are used to assess comprehension of new concepts learned in class. These are graded on effort, accuracy, and style.
Statement on use of generative AI in coursework: Students are not discouraged from using AI tools, such as ChatGPT or similar technologies, to support their learning and assignments. However, the use of AI must be acknowledged clearly in your submissions. For example, you can include a brief note stating, "This analysis was generated with the assistance of [AI tool name]."
While AI can be a powerful resource, it is not infallible. These tools can
occasionally produce incorrect or misleading information, and relying on them
exclusively may hinder your ability to critically evaluate data, methods, and
results. Therefore, you are expected to:
- Verify Information: Cross-check AI-generated outputs against authoritative sources or class materials.
- Develop Independent Skills: Engage with the concepts and tools independently to ensure you can identify when AI outputs are inaccurate or suboptimal.
- Take Responsibility: Ultimately, you are accountable for the content and quality of your work, regardless of whether it was AI-assisted.
By using AI judiciously and critically, you will enhance your ability to evaluate the reliability of data and tools, which is a vital skill in data science. This statement on the use of generative AI was generated with the assistance of ChatGPT.
Statement of academic integrity: Academic dishonesty is a serious offense and will not be tolerated in the class. Students are expected to reference sources appropriately in any work. Students are allowed to discuss homework assignments but should respond to questions and tasks on their own, not using a group answer. Violation of the rules of academic integrity (e.g., plagiarizing materials) will result in automatic failure of the course. Rules and consequences are outlined in the MSU Student Code of Conduct.