Download CpSc 311 - SRU Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Lattice model (finance) wikipedia , lookup

Binary search tree wikipedia , lookup

Transcript
CpSc 311 Section 01
August 26, 2013
Course Outline
1) Introduction
a) Explain basic terminology
i. Sets
ii. Relations
iii. Functions
iv. Trees
v. Graphs
b) Applicability to computing
i. Functions
ii. Relations - Equivalence relations, closures
iii. Sets - Finite, countably infinite, uncountably infinite sets
iv. Trees
c) Using structure in programs
i. Functions
ii. Relations
iii. Sets
iv. Trees
2) Formal Methodology
a) Binary operators
b) Symbolic logic
c) DeMorgan’s laws
3) Proof techniques
a) Proof by induction
b) Using proofs to solve problems such as puzzles
4) Demonstrate basic counting principles
a) Diagonalization
b) pigeonhole principle
5) Relate the ideas of mathematical induction to recursion
6) Computing and analysis (3 hours)
a) permutations of a set
b) combinations of a set
c) evaluate the run-time performance of alternative algorithms
7) Probabilities (3 hours)
a) Discrete probabilities
b) Distributions
c) Monte Carlo method
8) Apply the tools of probability to solve problems
a) the average case analysis of algorithms
b) hashing
9) Computational Complexity
a) Asymptotic analysis of bounds
b) Big-O, little-O
c) Worst-case
d) Best Case
e) Average case
f) Time-Space trade-offs
g) Recurrence relations
10) Introduction to Graphs and Trees
a) Binary Search Tree
b) Spanning Trees
c) Shortest Path
d) Undirected graphs
e) Directed graphs
11) Graphs
a) Cycles
b) Traversability
c) Connectedness
d) Distance
12) Traversal methods
a) Demonstrate and implement tree traversals
b) Demonstrate and implement graph traversals
13) Model problems in computing
a) Graphs
b) trees
c) Markov chains
14) Data structures and algorithms for graphs and trees
a) Enumeration
b) practical instantiation
c) Producing a random graph, tree, and table
Computer Science Department
Course Competency Plan
COURSE: CpSc 311 - Discrete of Computational Structures
Catalog Description: Introduces computational implementations of the mathematical structures
most frequently used in computing including sets, equivalence relations, functions, graphs, trees
and standard logic. Also introduces automata, formal languages, countability, decidability and
computational complexity, Markov and stochastic processes. The course will stress traditional
programming and mathematical approaches to these structures such as the use of recursion,
elementary data structures, and proof techniques to instantiate, parse, traverse, demonstrate
correctness, or use these computational objects. (Prereq: CpSc140, Math 120)
Course Outcomes: This course and its outcomes support the Information Technology Learning
Outcome of Problem Solving and Critical Thinking (PS&CT) . This Information Technology
Learning Outcomes is tied directly to the University Wide Outcome of Critical Thinking and
Problem Solving.
Program Objectives Assessed in CpSc 427
Degree
IT
Program Objective
I.a. Apply programming and system
management techniques to address
information technology problems
Assessed Course Objective
1. Build programs and prove theorems
concerning fundamental structures of
discrete mathematics.
Additional Course Objectives include:
The student will be able to:
1. Define basic computational terms and perform computational operations associated with sets, functions, relations,
trees, and graphs.
2.Apply formal methods of symbolic logic and proof techniques used to solve traditional computing problems.
3.Apply the tools of probability to solve problems.
4. Evaluate the run-time performance of alternative algorithms.
5. Model problems in computing using graphs, trees and Markov chains.
6. Relate graphs and trees to data structures, algorithms and counting.