Topics in Advanced Computing

MAT 4230

4 credits
Fall 2024

Meeting Times: Mondays and Thursdays, 10:30 - 12:10
Location: Humanities 2034
Instructor: Professor Abdul-Quader (or just “Athar”)
Email: athar.abdulquader AT purchase DOT edu
Office Hours: Mondays and Thursdays, 9 - 10 AM NSB 3003

Inclement Weather Hotline: 914-251-7500

Course Description

Prerequisite: Computer Science II
“Topics are selected from computability, complexity, artificial intelligence, machine learning, programming languages, data mining, informatics in biology and medicine, cryptography, and other application areas. This course does include topics in theoretical computer science, which has a strong mathematical component, as well as attention to current practical problems. Includes oral presentations by students on approved topics of their choosing.”

The above description is from the department webpage. This semester, I plan to organize the course as follows:

Students should contact me if they are having trouble finding a topic that they are interested in.

We may also have guest lecturers coming in from time to time. I will announce these in class and on BrightSpace.

Learning Outcomes

In parentheses below, you can see how the course learning outcomes map to the Mathematics / CS Program Learning Outcomes.

Upon completion of this course, students should be able to…

Required Textbook

Learn You a Haskell For Great Good! (Available for free online.)

For your own topics, you will need to find your own materials. I am happy to assist you in office hours in your search for materials. For some of these topics, I can loan you a textbook for the semester, while for others I can suggest materials that we find online.

Software / Tech Requirements

Grading Rubric

Note that there are no exams in this course. Problem sets will be challenging, but you will have ample time to complete them. I suggest forming study groups, but everyone should write up their own solutions. Come to office hours as much as possible.

The page requirements for the papers are “ballpark” ranges.

Attendance

I understand that there may be times you miss a class due to emergencies, illnesses, and other reasons. For this reason, I post the lecture notes online and on BrightSpace. If you miss a class, be sure to submit any work that was due that day, find out what work you missed, and catch yourself up. You can use my office hours or work with others in class to help catch yourself up.

Late Homework Policy

The topics in this course are cumulative, and so it is important to stay on top of your work when it is assigned. If you miss a class or fall behind, you still need to stay on top of the work that was covered. Do your best to stay current with the work, using all the resources at your disposal to help you.

If, due to emergencies or illnesses, you require some flexibility, you can reach out to me and we can discuss what you can do to make things up. However, if you fall behind on work and submit work late, I will have less time to actually look at it, grade it and provide meaningful feedback. If work is submitted too late, I reserve the right to simply give it a zero and move on if I do not have time to look at it.

Collaboration Policy

You are encouraged to discuss homework assignments with other students. All individual assignments must be completed on your own, however. There is a clear difference between copying someone else’s work and discussing a problem with another person. The latter is encouraged. Plagiarising another student’s work can lead to academic sanctions as per Purchase College’s Academic Integrity Policy: https://www.purchase.edu/live/blurbs/840-academic-and-professional-integrity

Office of Disabilities

It is my goal that this class be an accessible and welcoming experience for all students, including those with disabilities. You are welcome to talk to me at any point in the semester about course design concerns, but it is always best if we can talk as soon as possible about the need for any modifications. The Office of Disability Resources collaborates directly with students who identify documented disabilities to create accommodation plans, including testing accommodations, in order for students to access course content and validly demonstrate learning. For those students who may require accommodations, please call or email the Office of Disability Resources, (914) 251-6035, odr@purchase.edu.

Tutoring

Tutoring is available in the Einstein Corner, located in the Natural Sciences Building room 3046. Note: this is an upper-level elective, and so they might not have a tutor who has taken this course. I suggest forming study groups with each other, and coming to office hours regularly.

Wellness and Mental Health

Purchase College has many resources to support our students’ wellness and mental health. Please take a look at the Health and Wellness website for more information. In particular, check the Counseling Center’s website to learn about the various services that the Counseling Center has to offer, including remote counseling, emergency resources, hotlines, and referrals. Take care of your mental health!

Course Outline

Due to the nature of a course in which I will be inter-leaving lectures with student presentations, I will not provide a timeline for the lectures. However, I hope to cover the following topics (parentheses denotes the relevant textbook chapters):

  1. Basics of functional programming with Haskell (Chapters 1 and 2)
  2. Lists (Chapter 2)
  3. Types / typeclasses (Chapter 3)
  4. Basic Function Syntax (Chapter 4)
  5. Recursion and Higher-order functions (Chapter 5)
  6. Modules (Chapter 7)
  7. Defining Types (Chapter 8)
  8. I/O (Chapter 9)
  9. Functors (Chapters 10-11)
  10. Monads (Chapters 12-13)

We might not cover everything in the text, and we will likely go out of order at times. I will make a note of which sections/chapters we should read in class or on BrightSpace. I will also do my best to summarize these in my lecture notes.