| 
               Class Piazza
                      Site 
               
               signup 
              Course
                    Description 
              Weekly
                    Schedule 
              Course
                    Overview 
              Required
                    Textbooks 
              Grading
                    Policy 
              Getting a Computer
                    Account 
              Academic
                    Integrity Policy 
             | 
            
              
                CS350, Section 1 — Winter Quarter 2019 
                  Tuesday and Thursday 10:00–11:50 
                  UTS 203 (In the Chase Bank
                  Building on 4th Ave at Lincoln) 
                  CRN 40851 
                Instructors
                
                  
                    
                        | 
                      
                         Professor Andrew Black 
                          
                          503 725 2411 
                         
                        Office: FAB 115–10 
                        Office hours: Tuesday noon–12:30 and Thursday
                          16:00–17:00. To set up an appointment at an
                          alternative time, please use the telephone 
                       | 
                         | 
                      Teaching Assistant 
                          Aark Koduru
                        Office hours: Thursday 08:00–10:00 
                         
                        Location:  CS Fishbowl (may change) 
                           
                         
                       | 
                     
                  
                 
                
                Course Overview
                This course looks closely at the complexity
                  of computing stuff. That means how much time, and
                  sometimes how much space, an algorithm takes. Why does
                  this matter, when computers are so fast? Because we
                  often want to solve large instances of certain
                  problems, and the time taken by some algorithms is
                  exponential in the size of the problem instance. What
                  that means is: if we choose an naive algorithm,
                  solving the problem might take more time than the
                  expected lifetime of the sun!  
                The approach of the course is mathematical: much of
                  it is about deriving formulae for the expected running
                  time of algorithms. However, there will also be some
                  programming assignments, including a programming and
                  measurement project. 
                Course
                      Objectives
                Upon the successful completion of this class,
                  students will be able to: 
                 1. Analyze the running time and space complexity of
                  algorithms. 
                  2. Use the “big Oh” notation. (e.g., O(n
                  lg n).) 
                  3. Describe how to prove the correctness of an
                  algorithm. 
                  4. Use the mathematical techniques required to prove
                  the time complexity of a program/algorithm (e.g.,
                  limits and sums of series.) 
                  5. Perform inductive proofs. 
                  6. Prove and apply the Master Theorem. 
                  7. Describe the notions of P, NP, NPC, and NP-hard. 
                  8. Compare the rates of growth of functions. 
                  9. Apply algorithmic complexity principles in the
                  design of programs. 
                  10. Design divide and conquer and dynamic programming
                  algorithms. 
                Official
Course
                        Description 
                Required Textbook
                
                  
                    
                        | 
                      
                         The required book is Introduction to the
                            Design and Analysis of Algorithms (3rd
                            Edition) by Anany Levitin. Addison
                          Wesley;  ISBN-10: 0132316811 
                           ISBN-13: 978-0132316811.  There is
                          also a Kindle Edition, which is a bit cheaper,
                          but I think that it contains page images and
                          works only on larger-screen devices.   
                         
                        I will be assigning reading from this book,
                          and I will not be repeating the
                          material that you have read as lectures. 
                          Instead, we will be using the time in class to
                          solve problems and deal with issues that you
                          raise as a result of your reading. This puts
                          the onus on you to speak up if you don't
                          understand the readings. 
                         
                        NB: In addition to the textbook, I'm
                          requiring you to purchase a Student Response System
                            account. 
                         
                       | 
                     
                  
                 
                Reference Book
                
                  
                    
                        | 
                      
                         This book, Introduction to Algorithms,
                          by Thomas Cormen, Charles Leiserson, Ronald
                          Rivest, and Clifford Stein, has been used at
                          PSU in the past. It's a great reference, but
                          is significantly harder to read than Levitin.
                          It's also organized by problem class, rather
                          than by algorithm class. 
                        The book is intended for a graduate course.
                          It takes a mathematical approach, focusing
                          much more than Levitin on proof of correctness
                          of the algorithms. I'm listing it here as
                          resource that you may like to own,
                          particularly if you can find a used
                          copy.  I will not be assigning
                          reading from this book, but reading it can be
                          helpful in providing an alternative view from
                          Levitin’s 
                         
                       | 
                     
                  
                 
                Course Policies
                
                  
                    Attendance
                    I recommend that you come to class, that you participate
                      actively —which means asking and answering
                      questions — and that you take notes. The
                      act of taking notes (even if you never look at
                      them again!) is a powerful learning aid. I will
                      generally make any visual aids, code samples, etc.
                      that I used in class available on the web, but
                      these are not a substitute for being in
                      class and taking notes. If you do have to miss a
                      class, say because of illness or work-related
                      travel, you are responsible for getting notes and
                      finding out what went on in class from another
                      student. 
                     
                    Student Response System
                      ("Clickers")
                    To encourage participation, I'm going to be using
                      a student response system in class, and part of
                      the grade will depend on your responding to the
                      in-class questions.  (Whether or not you
                      answer correctly won't affect your grade.) 
                     
                    This quarter we will be using a SmartPhone App
                      from a company called TopHat. 
                      The is good because you don't have to buy a piece
                      of hardware; it's bad because you do have to pay a
                      license fee. 
                     
                    To buy a license to  TopHat, go to  http://tophat.com and
                    sign up as a student.  The Course Code for this
                    course is  791471.  TopHat is a
                    cloud-based system that you can access from a web
                    browser on your laptop, or from your
                    smartphone.    A one-semester license
                    costs around $26; a whole-year license is around
                    $32.  If you have trouble with the technical
                    aspects of using TopHat, contact them directly by
                    telephone at 888-663-5491, or by email at  support@tophat.com.
                    
                     
                    I regret asking you to spend yet more money, 
                    but the educational research results are in:
                    interactive classes using these devices really do
                    improve learning. I also regret that you may have
                    already bought a different brand of device for
                    another class.
                     Reading Assignments
                    Reading listed in the syllabus for each week
                      should be completed before coming to
                      class. I will check on the completion of reading
                      assignments by various means: oral or written
                      quizzes in class or on Piazza, written
                      summaries, discussion (web-based or in class),
                      etc. Anything in a reading assignment is fair game
                      for an exam question. 
                     
                    Online Questions & Discussions
                    There will not be a class mailing list; instead,
                      we will be using Piazza for class
                      discussion. This system is designed to get you
                      help fast and efficiently: from classmates, the
                      TA, and the instructor. Rather than emailing
                      questions to the teaching staff, I encourage you
                      to post your questions on Piazza. If you have any
                      problems or feedback for the developers of Piazza,
                      email team@piazza.com. 
                       
                      Sign up at: piazza.com/pdx/winter2019/cs350 
                    Class link: piazza.com/pdx/winter2019/cs350/home 
                     
                    Assignments
                    Handwritten or printed assignments are due at the
                      start of class.  I will accept assignments up
                      to three days (i.e., 72 hours) late, for a 10%
                      penalty in points.  So homeworks due on
                      Thursday at 10:00 can be turned in late on Friday,
                      Saturday or Sunday up until 10:00;  homeworks
                      due on Tuesday can be turned in late on Tuesday,
                      Wednesday,  Thursday, or Friday up until
                      10:00.  (In cases of authenticated sickness,
                      I'll accept homework late, without penalty, beyond
                      this limit.) 
                     
                    All late homeworks must
                        be turned in on D2L.  On-time
                      homeworks should normally be turned in on paper in
                      class, but if you are unable to get to class for
                      some reason, they can also can be turned in on
                      D2L.   If you don't follow these rules
                      your homework is likely to get lost. 
                     
                    Re-grading
                    We do sometimes make mistakes. If you believe
                      that we have not graded your assignment according
                      to the published grading scheme, please let the
                      instructor know in writing or by email
                      within 1 week of the assignment being returned to
                      you. Be specific as to why you think that the
                        grading is inconsistent. We will then
                      re-grade the whole assignment; the second grading
                      will stand, whether it is higher or lower than the
                      original grading. 
                    Disabilities
                    If you are a student with a disability in need of
                      academic accommodations, you should first register
                      with the Disability
                        Resource Center, and then notify the
                      instructor to arrange for support services. 
                    Makeup Exams
                    If you have a medical or a family emergency and
                      must miss an exam, let me know, if at all possible
                      before the exam, and I will work with you
                      to find an alternative. Other reasons for absence
                      such as scheduled travel are not
                      emergencies and are not cause for a
                      make-up. 
                    Passing the Course
                    Every assignment in the course is connected to a
                      learning objective. It is therefore important that
                      you make an honest attempt to complete them all. A
                      score of less than 20% on any assignment indicates
                      that you have not met this condition, and is
                      sufficient cause for failing the course. That
                      means an F, at the discretion of the instructor. 
                     
                   
                 
                
                  Access and Inclusion for Students with
                    Disabilities
                  PSU values diversity and inclusion; we are committed
                  to fostering mutual respect and full participation for
                  all students. My goal is to create a learning
                  environment that is equitable, useable, inclusive, and
                  welcoming. If any aspects of instruction or course
                  design result in barriers to your inclusion or
                  learning, please notify me. The Disability 
                  Resource Center (DRC) provides reasonable
                  accommodations for students who encounter barriers in
                  the learning environment. 
                   
                  If you have, or think you may have, a disability that
                  may affect your work in this class and feel you need
                  accommodations, contact the Disability Resource Center
                  to schedule an appointment and initiate a conversation
                  about reasonable accommodations. The DRC is located in
                  116 Smith Memorial Student Union, 503-725-4150,
                  drc@pdx.edu, https://www.pdx.edu/drc. 
                   
                  If you already have accommodations, please contact me
                  to make sure that I have received a faculty
                  notification letter, and can discuss your
                  accommodations with you. 
                   
                  Students who need accommodations for tests and quizzes
                  that require them to take tests at location outside
                  the normal classroom are expected to schedule their
                  tests to overlap with the time at which the class is
                  taking the test. 
                   
                  Please be aware that the accessible tables or chairs
                  in the room should remain available for students for
                  whom standard classroom seating is unsuitable.  
                 
                Emergencies
                For information about emergency preparedness, please go
                to the Fire and Life Safety webpage (https://www.pdx.edu/environmental-health-safety/fire-and-life-safety).
                
                    
                 
                Academic Integrity
                Students are at university for two reasons: to learn
                  stuff, and to gain a credential. Because the
                  credential is important to many of our students, part
                  of my role as a professor is to make sure that it has
                  value. This means ensuring that the degree is awarded
                  only to those students who have mastered the material
                  in my course. 
                I have every sympathy for those who have difficulty
                  with the material and seek the assistance of the
                  instructor, the TA or their fellow students. I have no
                  sympathy at all for those who decide that the fastest
                  way to a degree is to cheat. I have been responsible
                  for having cheating students dismissed from the
                  university in the past, and I will not hesitate to
                  seek to have cheaters dismissed in the future. 
                The most common form of academic dishonesty is
                  representing the work of others as your own. In all
                  written material, you are allowed, indeed expected, to
                  build on others’ work, but must do so in a way that
                  makes it absolutely clear what part of the work is
                  your own, and what part is due to others.  You do
                  this by citing the prior work.  If you reproduce
                  someone else’s work in a way that makes it appear to
                  be yours, you are guilty of plagiarism—in other words,
                  of cheating. 
                Cheating on an assignment or exam will result
                      in an automatic zero grade for that piece of work,
                      and the initiation of disciplinary action at the
                      University level. 
                Cheating and collaboration
                I encourage collaboration on certain assignments; I
                  will not tolerate cheating. Where is the line between
                  these activities? 
                First, if an assignment is explicitly set up as a
                  team assignment, you are of course allowed
                  — indeed, required — to collaborate with the
                  members of your team. In this case I will generally
                  require only one completed piece of work to be turned
                  in from the team as a whole. 
                For individual assignments, I encourage you to talk
                  about the problem with your fellow students. During
                  such discussion, you may even write something,
                  perhaps the code of a critical method, or a key step
                  in a proof, as a group. If you do this, there is a
                  danger that you might reproduce that group work as if
                  it were your own. To guard against this danger, do the
                  following: after the group session, destroy any notes
                  or code that you may have brought away with you. Then
                  go and do something else for an hour or two: go for a
                  walk or a bike ride, play your favorite sport, go to
                  the gym: do something to flush your short-term memory.
                  Then sit down with a blank sheet of paper or a blank
                  computer workspace and start work on your own
                  solution. If you have a photographic memory or
                  otherwise won't be able to forget what you have seen
                  someone else write, then don't participate in
                  collaborative problem-solving sessions. 
                If I see the same code or assignment from two or more
                  students I will take this as evidence that these
                  guidelines have been ignored, and will assign a grade
                  of zero to all of the students involved. 
                Please refer to http://www.pdx.edu/dos/codeofconduct
                  for details of the general PSU Student Code of
                  Conduct. 
                Method of assessment
                The following represents my present intention; I
                  reserve the right to vary the grade distribution if it
                  seems necessary or desirable. 
                
                  
                    
                      
                        | Item | 
                        Details | 
                        Weighting | 
                       
                      
                        | Homework | 
                        
                           Five graded assignments, each worth
                            5%.  The assignment with the lowest
                            score for each student will be dropped from
                            the final grade computation. 
                           
                         | 
                        20% | 
                       
                      
                        | Midterm | 
                        
                           Week of 11th February in class 
                           
                         | 
                        20% | 
                       
                      
                        | Final | 
                        Tuesday 19th
                          March, 10:15–12:05 | 
                        30% | 
                       
                      
                        | Term
                            Paper/Project | 
                        
                           Further details will be made
                            available.  Some of these points will
                            be awarded for the project proposal. 
                           
                         | 
                        20% | 
                       
                      
                        | Participation | 
                        
                           For participation in class and
                            electronically. 
                         | 
                        10% | 
                       
                    
                   
                 
                 
                Most recently modified sometime
                    in the past 
                 
                Andrew P. Black 
                  
             |