# Learning Outcomes

This page collects together all of the “outcomes” associated with individual modules. Outcomes identify what students will know and be able to do if they master the material.

### Use propositional logic to solve problems.

• Use truth tables and logical operators to solve problems.
• Translate between narrative arguments and propositional logic.
• Prove logical equivalency, contingency, tautology, and contradictions.

Referencing modules: Propositional Logic

### Understand how to succeed in ICS 141

• You understand the goals, structures, and procedures for learning in ICS 141.
• You have the required textbook and access to tools for participating in this class.

Referencing modules: Introduction

### Use predicate logic to solve problems.

• Translate between narrative arguments and predicate logic.
• Identify valid, satisfiable, and unsatisfiable assertions.
• Apply inference rules to solve problems.
• Prove or disprove assertions using predicate logic.

Referencing modules: Predicate Logic

### Use set theory to solve problems.

• Determine union, difference, and intersection of sets.
• Express sets in set-builder and tabular form.
• Prove properties of sets both with and without Venn diagrams.
• Prove logical equivalency, contingency, tautology, and contradictions.

Referencing modules: Sets

### Use functions to solve problems.

• Specify function injections and surjections.
• Prove that sets are countably finite or infinite.
• Solve equations using exponentiation and logarithms.

Referencing modules: Functions

### Use sequences to solve problems.

• Enumerate terms of a finite or infinite sequence.
• Derive closed formulas for series.

Referencing modules: Sequences, series, summations

### Use linear algebra to solve problems.

• Compute matrix addition and multiplication.
• Invert matrices.
• Evaluate determinants.

Referencing modules: Linear algebra

### Understand how numbers and characters are represented.

• Convert between decimal, binary, octal, and hexidecimal notations.
• Represent numbers using signed, unsigned, two’s complement, and floating point representations.

Referencing modules: Data representations

### Use algorithm principles to characterize and solve problems.

• Use Big O notation to characterize complexity of algorithms.
• Represent an algorithm using pseudocode.
• Use the greedy algorithm to solve problems such as the coin change problem.

Referencing modules: Algorithms

### Use number theory to solve problems.

• Compute the least common multiple and greatest common divisor.
• Apply Euclid’s algorithm
• Solve congruence systems using back substitution.

Referencing modules: Number theory

### Use induction and recursion to solve problems.

• Give inductive definitions for sets such as palindromes, unsigned integers, etc.
• Prove properties using induction.
• Write recursive algorithms to solve problems.

Referencing modules: Induction and recursion

### Use counting techniques to solve problems.

• Use combinatoric methods to solve “number of” and “how many ways” problems.
• Write pseudocode to generate permutations and combinations.

Referencing modules: Counting