CSIS 430 Analysis of Algorithms

Course Description

An introduction to the formal design and analysis of algorithms in terms of both time and space complexity. Paradigms covered include divide-and-conquer, greedy, dynamic programming, and heuristic techniques.


J. Walker Orr, Ph.D.
Office hours: KLA 207 (inside KLA 204) (see schedule)





This course moves beyond the study of data structures to study and analyze efficient algorithms and paradigms for their design.

Course Organization

This course will emphasize both theory and practice. Algorithms studied through lecture and reading will be implemented in a high-level language. Experimental results will be compared with predicted theoretical results.

Programming assignments will be carried out in a prescribed high-level language. Minimal instruction in the use of this language will be provided, you will be expected to achieve sufficient competence on your own.

The course will include regular homework and programming assignments. Assignments are due before 11:55pm on the due date; there will be NO CREDIT given for late assignments (without an excused absence) - turn in as much as you can.

Reading assignments should be completed before the lecture covering the material. Not all reading material will be covered in the lectures, but you will be responsible for the material on homework and exams. Quizzes over the assigned reading may be given at any time.

The course will include regular homework and/or programming assignments. Unless otherwise specified, assignments are due before the beginning of class on the due date. There will be no credit given for late assignments (without an excused absence)—turn in as much as you can.

Reading assignments should be completed before the lecture covering the material. Not all reading material will be covered in the lectures, but you will be responsible for the material on homework and exams. Quizzes over the assigned reading may be given at any time.


See the GFU CS/IS/Cyber policies for collaboration and discussion of collaboration and academic integrity. Most students would be surprised at how easy it is to detect collaboration in programming—please do not test us! Remember: you always have willing and legal collaborators in the faculty.

Almost all of life is filled with collaboration (i.e., people working together). Yet in our academic system, we artificially limit collaboration. These limits are designed to force you to learn fundamental principles and build specific skills. It is very artificial, and you'll find that collaboration is a valuable skill in the working world. While some of you may be tempted to collaborate too much, others will collaborate too little. When appropriate, it's a good idea to make use of others—the purpose here is to learn. Be sure to make the most of this opportunity but do it earnestly and with integrity.

Engineering Your Soul

The mission and vision statement of the Computer Science & Information Systems (CSIS) program states that our students are distinctive by "bringing a Christ-centered worldview to our increasingly technological world."

As one step towards the fulfillment of this objective, each semester, the engineering faculty will collectively identify an influential Christian writing to be read and reflected upon by all engineering faculty and students throughout the term. As part of the College of Engineering, CSIS students participate in this effort, known as Engineering Your Soul (EYS). This exercise will be treated as an official component of every engineering course (including CSIS courses) and will be uniquely integrated and assessed at my discretion, typically as a component of the quiz grade.

Students have two options for satisfying the EYS requirement.

The deadline for all of these options is the Friday of the week of the reading assignments.

Submit your response or record your attendance here.

Online Portfolio

All students in the College of Engineering are required to create and maintain an online portfolio on Portfolium to showcase their best work. Portfolium is a "cloud-based platform that empowers students with lifelong opportunities to capture, curate, and convert skills into job offers, while giving learning institutions and employers the tools they need to assess competencies and recruit talent."

Students will post portions of their coursework to Portfolium as directed by their instructor. For example, a portfolio entry might be PDF of poster or presentation content, screenshots or a video demonstration of a software or hardware project, or even an entire source code repository. In addition to required portfolio entries, students are encouraged to post selected work to their portfolios throughout the year.

Students will work with their faculty advisor to curate and refine their portfolios as they progress through the program. Students shall ensure that all portfolio entries are appropriate for public disclosure (i.e., they do not reveal key components of assignment solutions to current or future students).

University Resources

If you have specific physical, psychiatric, or learning disabilities and require accommodations, please contact the Disability Services Office as early as possible so that your learning needs can be appropriately met. For more information, go to ds.georgefox.edu or contact Rick Muthiah, Director of Learning Support Services (503-554-2314 or rmuthiah@georgefox.edu).

The Academic Resource Center (ARC) on the Newberg campus provides all students with free writing consultation, academic coaching, and learning strategies (e.g., techniques to improve reading, note-taking, study, time management). The ARC, located in the Murdock Learning Resource Center (library), is open from 1:00–10:00 p.m., Monday through Thursday, and 12:00–4:00 p.m. on Friday. To schedule an appointment, go to the online schedule at arcschedule.georgefox.edu, call 503-554-2327, email the_arc@georgefox.edu, or stop by the ARC. Visit arc.georgefox.edu for information about ARC Consultants' areas of study, instructions for scheduling an appointment, learning tips, and a list of other tutoring options on campus.

Anonymous Feedback

At any point in the term, you can leave anonymous feedback via this form. If there is something you want or need to tell me about the course feel free to leave a comment.

Professionalism and Civility

Computer science and engineering are professional programs which aim to produce responsible, respectful individuals who are prepared for the workplace. Hence, there are some standards of student classroom behavior. It is your responsibility to monitor your own behavior and act appropriately, failure to do so will result in a penalty to your grade. The following are expected of students.

COVID-19 Protocol

Out of concern and care for those who are medically vulnerable, please follow these few rules to reduce the risk of spreading the disease.


Grading Scale

Current Grades

The final course grade will be based on:

Tentative Schedule

Week 1

Introduction & Scala

Reading: Weiss: 1.2-1.3, 2.1-2.3, 3     Corman: 1

Week 2

Running Time and Divide & Conquer

Reading: Weiss: 2.4     Cormen: 2     Aho: 3.1-3.8;   Weiss: 10.2     Aho: 3.9-3.12

Week 3

Graph Representations & Shortest Paths

Reading: Weiss: 9.1-3     Cormen: 5-6     Aho: 9.1-9.3, 9.8-9.9

Week 4

Network Flow & Minimum Spanning Tree

Reading: Weiss: 9.4-5     Aho: 9.5

Week 5

Greedy Algorithms

Reading: Weiss: 10.1     Cormen: 9     Dijkstra Proof

Week 6

Introduction to NP & Search

Reading: Weiss: 9.6-7     Cormen: 10



Week 7 — 10

Dynamic Programming

Reading: Weiss: 10.3     0-1 Knapsack Video     Held-Karp TSP Video     Held-Karp TSP "Rewind" Clarification

Week 11

Spring Break

Week 12

Randomized Algorithms

ReadingIntro. & primality testing.
Genetic Algorithm for the TSP video
Genetic TSP PDF
Weiss: 10.4

Week 13

Backtracking Algorithms

ReadingIntro. to Backtracking with N-Queens
Branch & Bound
TSP Backtracking
Weiss: 10.5

Week 14 & 15

Logic, Encryption, & Special Topics

ReadingIntro. to Logic Video
Conjunctive Normal Form (CNF) and Satisfiability (SAT) Video
Intro. to Cryptography
CS Theory, History, and Related Philosophy Video
Cormen: 8

This page was last modified on 2020-05-09 at 14:55:02.

Copyright © 2018–2020 George Fox University. All rights reserved.