Course Syllabus

NOTE: Some links in this syllabus page may only be accessible to currently enrolled students.

Instructor Introduction

Meet the instructor this term, Dr. Maher Elshakankiri

Meet the instructor this term, Doshna Umma Reddy

Full Syllabus

Download the full CS 325 Syllabus

Introduce Yourself!

Hop on over to our first discussion and introduce yourself!

The instructors will be logging into the course on a regular basis, approximately 3-5 times each week. Please post all course-related questions in the Q&A Discussion board so the whole class may benefit from our conversation. Please send an email to your instructors or TAs for matters of a personal nature. When you email your TA or instructors, you should expect a response within 48 hours (our response time is usually much less than that). You can expect your assignments to be graded within four to five days of the due date.

Office Hours

You can ask questions to the instructor or teaching assistants (TAs) during their weekly office hours.

TAs:

Devin: crowleyd@oregonstate.edu

Hoang: lehoang@oregonstate.edu 

Jon: bairdjo@oregonstate.edu

Jisoo: leejis@oregonstate.edu

Nahian: ahmedna@oregonstate.edu

Nima: azbijarn@oregonstate.edu

Tim: phamtimo@oregonstate.edu

Office hours (send a direct message on Teams)

Office Hours
PT Start Time (1hr blocks) Monday Tuesday Wednesday Thursday Friday Saturday Sunday
8:00-9:00am Nima Nima Devin  Nima  
9:00-10:00am Nima Nima Devin  Nima  
10:00-11:00am Devin  Jon Devin Tim    
11:00-12:00noon   Devin   Jon Devin Tim     
12:00-1:00pm Maher   Jon Devin Tim  Hoang  
1:00-2:00pm Doshna  Maher   Jon Devin Tim Hoang  
2:00-3:00pm Doshna          Jisoo  
3:00-4:00pm       Hoang Jisoo  
4:00-5:00pm     Hoang Hoang Nima Jisoo  
5:00-6:00pm     Hoang  Hoang Nima Jisoo  
6:00-7:00pm Jisoo Jisoo Nahian Nahian Hoang    
7:00-8:00pm Jisoo Jisoo Nahian Nahian    

 

Peer tutoring by the School of EECS

Note: This service is not available in Summer Term.

The School of EECS now offers free online CS peer tutoring via Zoom, and there are two ways you can use it:

This is in addition to the TA/ULA and Instructor office hours.

TutorMe - Online Tutoring Information

Tutoring is available for free through TutorMe and can be accessed through the TutorMe link in the course navigation menu. TutorMe tutors are available 24/7 and you’re able to communicate with them via chat, video or audio conferencing – it’s up to you! If you find a tutor that you like, you can continue to schedule tutoring sessions specifically with that tutor in the future. 

Ecampus Resources

Ecampus Resources  - These resources will be useful for all of your classes throughout the term...  Library Information, Helpdesk Contact Info, Canvas Tech Support, etc...

Technical Questions on Using Canvas

If you have a technical issue or question when using Canvas, 24/7 support is available in Canvas via chat, phone, or e-mail through the Help link in the menu on your left .

Additional technical support (use of software/browsers) can be accessed through the OSU Computer Helpdesk.

Academic or Student Support Services

For all other academic and student support services, refer to the Student Services link found in the course menu.

The following services are available to all Ecampus students:

Accessibility Tools for Canvas

The following tools are available within your Ecampus course. 

ReadSpeaker - is a tool that reads text on Canvas course pages aloud.

TextAid - is an additional tool that allows users to have nearly any text highlighted and read aloud, including documents, Web sites, text composed by a user, and more. For more information, please visit ReadSpeaker Text Aid.

NOTE: Some links on this page may only be accessible to registered students.

Download the full syllabus file .

You can see the full schedule for the course below, and the assignment due dates at the end of this page.

Course Schedule

Course Schedule
Week Topic Reading Assignments Learning Activities
1 Asymptotic Notations and Correctness of Algorithms

Readings and Videos in Canvas

Practice problems and practice quiz questions on canvas

Required Assignment and Required Discussion and

Required Quiz
2 Recursion, Recurrence Relations and Divide & Conquer

Readings and Videos in Canvas

Practice coding problems and practice quiz questions on canvas

Assignment and

Quiz
3 Dynamic Programming

Readings and Videos in Canvas

Practice coding problems and practice quiz questions on canvas
Assignment and 
Quiz
4 Dynamic Programming and Backtracking

Readings and Videos in Canvas

Practice coding problems and practice quiz questions on canvas
Assignment, Discussion and 
Quiz
5 Backtracking and Greedy Algorithms

Readings and Videos in Canvas

Practice coding problems and practice quiz questions on canvas
Assignment and 
Quiz
6 Greedy Algorithm & Midterm

Readings and Videos in Canvas

Practice coding problems and practice quiz questions on canvas

Review material from week 1-6 Explorations, videos, quizzes and assignments.

Midterm Exam

7

Graph Algorithms

Readings and Videos in Canvas

Practice coding problems and practice quiz questions on canvas
Assignment, Discussion and
Quiz
8

Graph Algorithms

Readings and Videos in Canvas

Practice coding problems and practice quiz questions on canvas

Assignment and 
Quiz

9

NP-completeness and Heuristic Algorithms

Readings and Videos in Canvas

Practice coding problems and practice quiz questions on canvas

Assignment, Discussion and 
Quiz

Finals

Finals Week

Review material from all Explorations, videos, quizzes, midterm and assignments.

FINAL EXAM

 

Tools

Ed Discussions

There is a link to Ed Discussions in the left sidebar of Canvas. This ongoing Q&A forum is a valuable resource for getting official answers to your questions (and often helpful student responses also). It's good to use the search box before posting, to see if your question has already been addressed.

Teams

Teams is a forum for more informal interaction with your fellow students. It is also where TAs and the Instructors will hold office hours.

You can download and install the desktop or mobile app from here or also use it from the browser.

Here's how we'll use Teams:

  • General
    The landing channel when you first join. This is where office hours will be held and where you can discuss course-related questions with other students.
  • #random
    Random chat among course members (students and teachers)

On Teams you can:

  • Create your own channels
    For group-work or study-groups you can create your own (private or public) channels!
  • Create ad-hoc teleconference sessions
    Click the "phone" icon next to the channel title and invite people to join you!
  • Engage with the TAs and Instructor during office hours
  • Engage with each other

OSU's primary motivation in providing this Teams experience is to give you, the student, a built-in mechanism for building relationships and collaborations among yourselves.

Connecting to our class teams:

PyCharm

PyCharm is the IDE (Integrated Development Environment) that you can use in this course to develop your assignments. There are a few steps you'll need to follow to get PyCharm set up on your computer:

  1. Download and install the current version of Python 3, found here.
  2. Download and install the Community edition of PyCharm, found here.
  3. Run PyCharm and answer the setup questions (accept the default if you aren't sure). When you reach the welcome screen, click on "Create New Project". You should now see this screen:
    Pycharm create new project 
  4. In the "Location" path, replace "untitled" with "greeting". This will be the name of your project.
  5. Click on the little arrow to the left of "Project Interpreter". You should now see the following:
    Pycharm selecting interpreter 
  6. Click on "Existing interpreter" and select whatever version of Python 3 you installed. PyCharm will remember this choice as the default for future projects (which is good, since Python 3 is what we'll use throughout the course).   [If the Python 3 interpreter you installed doesn't appear,  open the Settings/Preferences dialog, select Project <project name> | Project Interpreter, click the  The Configure project interpreter icon and select Add.  Next select System Interpreter and then select your installation of Python 3.]  You should now see this screen:
    Pycharm_welcome screen.PNG 
  7. Right-click anywhere on the document and select "Run 'greeting'" (which has a little green triangle icon to its left). This should make "Hello world." print to the output window. Congratulations - you've just created and run a program in Python!

Repl.it

Repl.it is the tool that was used to create the interactive exercises in the lessons. The exercises are embedded in the lesson pages in Canvas, but you will need to be logged into Repl.it in order to view them. You'll receive an invitation to join the Repl.it "classroom" around the first day of class.

 

Discussion Participation

On alternate weeks there would be group work where students would form themselves into groups and discuss a strategy to solve an assignment problem. Late submission is not accepted on discussion posts.

Weekly Homework Assignments

A homework assignment is due every week of the term, at the indicated date and time (Pacific time). Each student must complete the assignments without referring to any other student's code. Online instructors and/or teaching assistants will generally be available to answer questions online during normal business hours on weekdays.

Late Work Policy

The course material is for each week is released one week in advance with the intent to allow both full time and part time students to be able to complete the homeworks, quizzes, discussions well before the deadline. The quizzes and discussions will be closed post due date. Homeworks may be submitted late by 24hrs after this official due date, but they will be penalized at a rate of 10% of points. Later than that homework submissions will not be accepted. Online instructors and/or teaching assistants will generally be available to answer questions online during normal work hours on weekdays. They will not necessarily be available over the weekend. Plan ahead. If any extension is required it should be informed atleast 3 days before due date.

Proctored Exams

This course will use an automated online proctoring system called Proctorio, where your exam session is recorded for instructor review.  You will not need to schedule proctoring appointments, and there is no cost to you to use Proctorio.

Please note that a functioning webcam and microphone are required for using Proctorio.  If you do not have these, you will need to locate and submit an alternative proctor through the exams and proctoring form and pay for any associated proctoring fees.

Your security and privacy are important.  You can read more about Proctorio’s privacy and data security policies on their website, and more information about using this tool can be found in the course site.

Makeup Exams

Makeup exams will be given only for missed exams excused in advance by the instructor. Excused absences will not be given for airline reservations, routine illness (colds, flu, stomach aches), or other common ailments. Excused absences will generally not be given after the absence has occurred, except under very unusual circumstances.

Incompletes

Incomplete (I) grades will be granted only in emergency cases (usually only for a death in the family, major illness or injury, or birth of your child), and if the student has turned in 80% of the points possible (which basically doesn't happen unless the student encounters a major problem during the final exam).

Statement Regarding Religious Accommodation

Oregon State University is required to provide reasonable accommodations for employee and student sincerely held religious beliefs. It is incumbent on the student making the request to make the faculty member aware of the request as soon as possible prior to the need for the accommodation. See the Religious Accommodation Process for Students.

Guidelines for a Productive and Effective Online Classroom

(Adapted from Dr. Susan Shaw, Oregon State University)

Students are expected to conduct themselves in the course (e.g., on discussion boards, email) in compliance with the university’s regulations regarding civility. Civility is an essential ingredient for academic discourse. All communications for this course should be conducted constructively, civilly, and respectfully. Differences in beliefs, opinions, and approaches are to be expected. In all you say and do for this course, be professional. Please bring any communications you believe to be in violation of this class policy to the attention of your instructor.

Active interaction with peers and your instructor is essential to success in this online course, paying particular attention to the following:

  • Unless indicated otherwise, please complete the readings and view other instructional materials for each week before participating in the discussion board.
  • Read your posts carefully before submitting them.
  • Be respectful of others and their opinions, valuing diversity in backgrounds, abilities, and experiences.
  • Challenging the ideas held by others is an integral aspect of critical thinking and the academic process. Please word your responses carefully, and recognize that others are expected to challenge your ideas. A positive atmosphere of healthy debate is encouraged.

Expectations for Student Conduct

Student conduct is governed by the university’s policies, as explained in the Student Conduct Code (https://beav.es/codeofconduct). Students are expected to conduct themselves in the course (e.g., on discussion boards, email postings) in compliance with the university's regulations regarding civility.

Academic Integrity

Integrity is a character-driven commitment to honesty, doing what is right, and guiding others to do what is right. Oregon State University Ecampus students and faculty have a responsibility to act with integrity in all of our educational work, and that integrity enables this community of learners to interact in the spirit of trust, honesty, and fairness across the globe.

Academic misconduct, or violations of academic integrity, can fall into seven broad areas, including but not limited to: cheating; plagiarism; falsification; assisting; tampering; multiple submissions of work; and unauthorized recording and use.

It is important that you understand what student actions are defined as academic misconduct at Oregon State University. The OSU Libraries offer a tutorial on academic misconduct, and you can also refer to the OSU Student Code of Conduct and the Office of Student Conduct and Community Standard’s website for more information. More importantly, if you are unsure if something will violate our academic integrity policy, ask your professors, GTAs, academic advisors, or academic integrity officers.

Return to Modules

Course Summary:

Date Details Due