Dec 26, 2024  
2019-2020 Catalog 
    
2019-2020 Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

IT 334 - Algorithms

Credits: 5
A continuation of the concepts and themes from IT 333 . Algorithms selected from areas such as sorting, searching, shortest paths, greedy algorithms, divide-and-conquer, backtracking, and dynamic programming. Includes coverage of graph theory, graph data structures, and graph algorithms.

Prerequisite: IT 333  or instructor’s permission.

Course Outcomes:
Students who successfully complete this class will be able to:

  1. Analyze the runtime performance of an algorithm using big-O notation.
  2. Implement a graph data structure using an adjacency list or adjacency matrix.
  3. Differentiate between depth-first and breadth-first search algorithm strategies.
  4. Implement common graph algorithms such as shortest path and minimum spanning tree.
  5. Identify and describe common algorithm strategies, such as greedy, divide-and-conquer, backtracking, and dynamic programming.
  6. Discuss the notion of intractability in terms of P, NP, and NP-complete classes of problems.

Program Outcomes
  1. Develop stable, robust, secure, and efficient code following best practices in database design and software construction.
  2. Communicate with technical and non-technical project stakeholders, and within project teams.
  3. Perform software quality assurance activities throughout the entire software lifecycle.
  4. Write technical documentation to support software lifecycle activities. 


College-wide Outcomes
  • Critical Thinking - Critical thinking finds expression in all disciplines and everyday life. It is characterized by an ability to reflect upon thinking patterns, including the role of emotions on thoughts, and to rigorously assess the quality of thought through its work products. Critical thinkers routinely evaluate thinking processes and alter them, as necessary, to facilitate an improvement in their thinking and potentially foster certain dispositions or intellectual traits over time.
  • Quantitative and Symbolic Reasoning - Quantitative Reasoning encompasses abilities necessary for a student to become literate in today’s technological world. Quantitative reasoning begins with basic skills and extends to problem solving.



Add to Portfolio (opens a new window)