CS 3100-001 Fall 2024 Models Of Computation

CS 3100, Models of Computation, Fall 2024, Mondays and Wednesdays

Lectures: 1:25 pm to 2:45 pm

Spencer Fox Eccles Business Building, 1655 Campus Center Dr, SLC, UT 84112

This course follows the instructor's method of teaching this topic interactively using software tools written by the instructor. For a taste of what that looks like, please see bit.ly/TeachJoveAutomata.  Please see info on the course textbook below.

  • Click here for the Up-to-Date FAQ link, SCHEDULE of Assignments, Exams  (This is a Google Doc that  you can browse from anywhere - even without logging onto Canvas)
  • A description of what to expect in the course : 
    • We give you many opportunities to learn on your own with plenty of interactive material that helps you reinforce concepts via the Jove software. We will be happy to add new modules as you may wish.
  • The course learning outcomes: 
    • Be able to understand both the THEORY and PRACTICE of the Models of Computation
    • Theory comes in the form of answering what are established formal models of computing and how do they help us answer which problems have algorithms and which do not.
    • Practice comes in the form of answering which tools such as compilers are made possible by the models of computation and how can program testing/debugging methods run into asking hard or impossible problems.
      • A hard problem is : Determine whether an undirected graph can be 3-colored (important for compilers during register allocation)
      • An impossible problem is : Eliminate all unreachable program statements (happens during compiler optimization).
  • Communication mechanisms:

    Type of Communication

    (please employ a polite tone)

    Medium of Communication Who will answer, delay to expect, follow-up
    General policy questions Piazza : Private post on Piazza unless question is of general interest. But you must check the class FAQ first. Instructor will post in Syllabus, repeat answer once in Piazza, pin discussion so that answers won't be repeated
    Clarifications / Q/A about class material Private post on Piazza unless material is potentially of general value AND you are not leaking an answer (leaking an answer is grounds for point deduction) Instructors and TAs will monitor and answer. Allow us at least a day
    Regrade and Other Point Deduction Private post on Piazza Ideally contact the TAs during office hours. Unresolved issues will be forwarded by the TAs to the instructor
    Urgent matters such as impossible weather / road hazards that prevent exams being taken. (Avoidable absences due to poor planning on your part will not be honored.) Privately email instructor - his website https://www.cs.utah.edu/~ganesh carries his contact email. Be clear in the subject: "CS 3100 - issue type" and be brief in email See the instructor if you can. Else email in case of an emergency. The instructor frequently checks his email
  • Academic Misconduct and SoC UG Handbook

      • In particular

        • Homework quizzes, polls, and exams are to be done independently -- no discussions are allowed other than clarifications with the instructor or TAs.

        • It is acceptable for students to discuss -- at a high level -- how to solve assignment problems with classmates, but copying solutions is considered academic misconduct.  

        • It is the student’s responsibility to ensure the successful and timely submission of each assignment via Canvas. Corrupted or missing files are not grounds for extensions.

 

Course Textbook : Automata and Computability, A Programmer's Perspective, CRC Press ISBN: 9780367656546. (A PDF of the instructor's own textbook will be given out for use in this class, courtesy of publisher.)

  • Course Software : https://github.com/ganeshutah/Jove.git 
    • Course activities such as assignments and part of the exams will be based on this software, with submissions of Colab notebooks expected
  • Lecture Slides :
    • Released via Canvas Modules.
  • Videos of lectures :
    • Will be posted on Canvas - look under Media Gallery when the class starts.
  • Discussions and Email with teaching staff : On Piazza (not on Canvas)
  • Assessment methods: They are designed for timely feedback + learning and many give you virtually assured points
    • There is nothing better than timely feedback and clearing your doubts quickly 
    • Weekly Polls (almost all weeks) submitted while in class on Canvas (need laptop or phone)
        • Polls
          • are a way to review the lecture - you discuss with others and we also help you do it
          • are a virtually assured          10% of course grade - just show up and we'll help you review + get full pts
    • Weekly quizzes on Canvas worth     10% of course grade   
      • Helps you review that week's material; you get 3 tries; each multi-answer question has 4 parts with always 2 right
      • All past students who took my CS 3100 learned a ton by solving them; we'll offer hints on Piazza to solve; most score full points on these quizzes. Many of these quiz questions will (with small changes) be present within the in-class exam questions
    • Two midterm exams together worth 30% of course grade
      • For each exam, there will be an in-class submission component while in class on Canvas (need laptop or phone to do a multi-answer quiz) - 7% of course grades, and a "take-home" component (submission on Canvas of a more detailed set of problems) with later submission - 8% of course grades. Thus 15% each exam and 30% for two.
    • One final exam -                                    15% of course grade
    • Eight Assignments (lowest dropped) 35% of course grade
  • Regrade requests: Regrade requests must be made within four days of when the grades are released. Kindly post the regrade query on Piazza under the right assignment tab, making sure that your post is private. Please be clear about what you are requesting. The TAs will follow-up with you if your request is not clear.
  • Late Policy : None - nothing late is accepted We like to keep the TA's grading pipeline not hiccup with normal and late submissions; Having a late policy prevents us from publishing solutions in a timely way; We are dropping enough low scores and so you won't be hurt; If you are able to start an assignment and are 70% done, best is to submit it. The number of items dropped will be announced toward the end of the semester. This is how I adjust your performance to compensate for bad outcomes that affect most of the class. This class tends to assign grades that are a bit more generous than listed in the grades scale, below.
  • Instructor:   Ganesh Gopalakrishnan   (address me as "Dr. Ganesh" or "Prof. Ganesh")           
  • CONTACT METHOD PREFERRED: Piazza direct messaging  (see above table for more info)
  • Grades Scale (all points are both inclusive), and these may adjust up (in your favor) later (at my discretion):
    • [93,100] : A
    • [90,92] : A-
    • [87,89] : B+
    • [83,86] : B
    • [80,82] : B-
    • [77,79] : C+
    • [73,76] : C
    • [70,72] : C-
    • [67,69] : D+
    • [63,66] : D
    • [60,62] : D-
    • [0,59] : E

 

University Policies

The Americans with Disabilities Act. The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities. If you will need accommodations in this class, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, (801) 581-5020. CDS will work with you and the instructor to make arrangements for accommodations. All written information in this course can be made available in an alternative format with prior notification to the Center for Disability Services.

Given the nature of this course, attendance is bound to be very beneficial, and adjustments cannot be granted to allow non-attendance. However, if you need to seek an ADA accommodation to request an exception to this attendance policy due to a disability, please contact the Center for Disability and Access (CDA). CDA will work with us to determine what, if any, ADA accommodations are reasonable and appropriate

University Safety Statement: The University of Utah values the safety of all campus community members. To report suspicious activity or to request a courtesy escort, call campus police at 801-585-COPS (801-585-2677). You will receive important emergency alerts and safety messages regarding campus safety via text message. For more information regarding safety and to view available training resources, including helpful videos, visit safeu.utah.edu.

Addressing Sexual Misconduct. Title IX makes it clear that violence and harassment based on sex and gender (which Includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status or genetic information.  If you or someone you know has been harassed or assaulted, you are encouraged to report it to the Title IX Coordinator in the Office of Equal Opportunity and Affirmative Action, 135 Park Building, 801-581-8365, or the Office of the Dean of Students, 270 Union Building, 801-581-7066.  For support and confidential consultation, contact the Center for Student Wellness, 426 SSB, 801-581-7776.  To report to the police, contact the Department of Public Safety, 801-585-2677(COPS).