CSCI 235
    Analysis of Algorithms

    College of the Holy Cross, Fall 2024


    Home | | Schedule


    Instructor
    Farhad Mohsin [home]


    Lecture times
    TuTh 9:30AM - 10:45AM

    Location
    Swords 330


    Office hours
    Office hours location: Swords 339

    • Mon: 11:30 AM-1 PM
    • Wed: 2-3:30 PM
    • Or by appointment

    Canvas
    We'll use Canvas for assignment submission, lecture notes sharing etc. All assignment's written reports must be submitted in pdf format. I would prefer a digital file (written in Word or LaTex). It is fine if you put in pictures taken of handwritten assignments, but it must be legible. For assignments with coding components, they must be coded in C++, with specific instructions in the homeworks.


    Course description
    Algorithms are recipes for solving computational problems. In this course we will study fundamental algorithms for solving a variety of problems, including sorting, searching and graph algorithms. More importantly, we will focus on general design and analysis techniques that underlie these algorithms. For example, we will examine divide-and-conquer, dynamic programming, greediness, and probabilistic approaches. With an understanding of these techniques, you will be prepared to design some of your own algorithms.

    Algorithms are judged not only by how well they solve a problem, but also by how effectively they use resources like time and space. We will learn techniques for analyzing time and space complexity of algorithms and will use these to evaluate tradeoffs between different algorithms. We will also see that problems can be organized into a hierarchy that measures their inherent difficulty by the efficiency of the best possible algorithm for solving them.


    Prerequisites
    The prerequisite for this class is CSCI 132, Data Structures and 1 semester of calculus. You should feel comfortable with simple data structures (arrays, lists, trees, stacks and queues) as well as recursion. You should also feel comfortable with basic calculus concepts such as limits and derivatives.

    In addition you should be prepared to learn some new mathematical techniques. In order to analyze algorithms, we'll need to use some mathematical methods that may be new to you. We will learn these methods in class, and they are also explained well in the textbook.

    The Notation we will use for algorithms is the pseudocode used in the textbook. For the most part, we will not do any programming in class. But you will be expected to remember basic programming skills from CSCI131 and/or CSCI132 and apply them in the homeworks and exams.


    Textbook
    Algorithms, 1st Edition By Sanjoy Dasgupta, Christos Papadimitriou and Umesh Vazirani This is a great introductory book, that will work as a companion to all notes shared in class.

    It is expected that Holy Cross students will have textbooks and other required class materials in order to achieve academic success. If you are unable to purchase course materials, please go to the Financial Aid office where a staff member will be happy to provide you with information and assistance.
    Beyond this, we also suggest the following two text books as reference textbooks.

    • Introduction to Algorithms, 3rd or 4th edition by Cormen, Leisersen, Rivest and Stein.
    • Introduction to the Design and Analysis of Algorithms, 3rd edition , by Anany Levitin

    Exams
    Midterm:
    There will be two midterm exams. These dates are tentative and subject to change. But it would roughly be around these dates.

    • Mid-term 1: Oct 1 (Tuesday)
    • Mid-term 2: Nov 12 (Tuesday)

    Final exam:
    The final exam will be held during finals week as scheduled.

      Final Exam: TBD


    Participation
    Your participation grade will be calculated based on your attendance in class and your willingness to answer questions during the class sessions, and most importantly, in-class quizzes (up to eight) that will happen in class.


    Grading


      Participation/Quizzes: 5%
      Homework: 30%
      Midterm exam 1: 20%
      Midterm exam 2: 20%
      Final exam: 25%


    Late Policy
    Assignments are due before the beginning of class on the assigned due date. Late assignments will be marked down 10% for each day late. That is, assignments turned in after the time they are due will be marked down 10%, assignments turned between 24 and 48 hours after the due date will be marked down 20%, and so on. The penalty will be determined when the assignment is physically transferred to the instructor or submitted online (whichever is the submission method for that particular assignment). Late work will not be accepted after the graded assignment is returned to the class.


    Collaboration Policy
    You are allowed to discuss strategies for solving homework problems with other students, however any work you turn in must be your own work (i.e. you may not simply copy another student's answers and turn them in as your own). You must clearly indicate the names of any students you work with on each assignment.

    You may consult public literature (books, articles, etc) for information, but you must cite each source of ideas you adopt.

    Please familiarize yourself with the Math and CS Department's policy on Academic Integrity as well as the College's Academic Integrity Policy.


    Excused Absence Policy
    Class attendance is expected and will be counted toward the participation part of the grade. If you have a confirmed reason why you cannot attend an exam at the day or time it is given, you must contact your instructor well ahead of time to arrange to take it at another time. Please see the College Policy on excused absences.


    Reasonable Accommodations and Accessibility Services

    The instructor is committed to providing students with disabilities equal access to the educational opportunities associated with this course. For details or to request accommodation, please refer to College procedures on Requests for Reasonable Accommodations and the Office of Accessibility Services.


    Class Recordings

    Consistent with applicable federal and state law, this course may be video/audio recorded as an accommodation only with permission from the Office of Accessibility Services.



    Last modified: Aug 24, 2024