\documentclass[12pt,twoside]{article}
\usepackage{amsmath}
\input{macros-course}

\def\cent{{\not\!\mathrm{c}}}
\renewcommand{\implies}{\longrightarrow}


%\newcommand{\solution}[1]{}
%\newcommand{\solution}[1]{\bigskip {\bf Solution:}\\ #1\bigskip}

\begin{document}

\handout{objectives}{Objectives and Outcomes}{September 7, 2000}

\section*{Course Objectives}

This course introduces students to the basic concepts and methods of
discrete (noncontinuous) mathematics and indicates how these are used
in computer science.
The course lays the foundation material for subsequence courses in 
design and analysis of algorithms, computability theory, software 
engineering, and computer systems. 

In 6.042, students will learn to: 
\begin{enumerate}
\item
\label{Basic Discrete Mathematics Concepts}
Define and reason carefully about the basic data types and structures used in
building and analyzing computer algorithms and systems,
including numbers, Booleans, strings, sets, functions, relations
digraphs, graphs, trees, and state machines.
State important properties of these data types and structures, and
explain carefully why these are true.
Use these properties to draw conclusions about concrete examples that
can be modeled using these data types and structures. 

\item
\label{Proofs}
Recognize and explain precise mathematical definitions.
Recognize, explain, and synthesize elementary proofs about discrete
mathematics concepts, including direct proofs, proofs by
contradiction, proofs by case analysis, 
proofs using truth tables, proofs using universal and existential quantifiers, 
and proofs by (ordinary, strong, and structural) induction. 
Distinguish rigorously proven conclusions from merely plausible ones.

\item
\label{Computational Processes} 
Use the basic data types and structures, especially state machines and
recursive functions, to model computational processes (algorithms and
systems) and to assert properties of their behavior.
Use the basic proof methods and the properties of the data types and
structures to reason carefully about the behavior of the modeled
computational processes.

\item 
\label{Analytic Tools}
Explain the mathematical basis for standard quantitative  methods used
in analyzing computer algorithms and systems.
These include methods for calculating sums of series, solving
systems of recurrence equations, carrying out asymptotic analysis of
the sizes of functions, and counting sizes of sets.
Apply these methods to model and solve concrete problems. 

\item \label{Discrete Probability}
Apply principles of discrete probability to model and solve elementary
problems of reliability and estimation.

\item 
\label{teams} 
Work in small teams to accomplish all the objectives above.
\end{enumerate}

[[[Stopped here.  The outcomes are not changed, largely because I
don't understand the difference between objectives and outcomes.
Maybe Albert can help here.]]]

\newpage
\section*{Course Outcomes}
Students will be able to:
\begin{enumerate}

\item \label{soundness}  evaluate the soundness of elementary mathematical
arguments, identify fallacious \emph{reasoning} (not just fallacious
conclusions), and synthesize corrections to proofs.

\item \label{proofs} synthesize induction hypotheses and simple proofs in
discrete mathematics using the terminology of elementary mathematical
logic.

\item \label{combinatorics} apply methods of discrete mathematics to model
and solve elementary combinatorial optimization problems, in particular

   \begin{enumerate}

   \item \label{graph models} define and prove basic properties of
         finite graphs such as connectedness, colorability, acylicity.
         Use graphs to model data structures and state machines.

   \item \label{solve graphs} apply graph theory to solve elementary
         problems of scheduling and connectivity.

   \item \label{arithmetic} define and prove basic properties of prime
        numbers and modular arithmetic; calculate GCD's and evaluate
        arithmetic expressions in modular arithmetic.

   \item \label{closed forms} model current value of future
        income, population growth, and computational resource requirements
        using series and recurrences, and then derive closed-form
        solutions.

   \item \label{counting} count combinations and permutations of outcomes
   of discrete experiments such as dice rolls.

   \end{enumerate}

\item \label{correctness} apply principles of logic and discrete
mathematics to analyze, verify, and synthesize elementary algorithms and
state machines, in particular

   \begin{enumerate}

           \item \label{invariants} apply the method of invariants and
           well-founded ordering to prove correctness and termination of
           algorithms and state machines.

           \item \label{Big-O} use asymptotic notation to describe time
           and space complexity of algorithms.

   \end{enumerate}


\item
\label{calculate probability} apply principles of discrete
probability to model and solve elementary problems of reliability and
risk, in particular

   \begin{enumerate}

   \item \label{conditional probability} calculate probabilities and
   conditional probabilities of combinatorial experiments such as dice
   rolls.

   \item \label{mean-var} calculate means and variances for simple
   combinatorial experiments and for binomial, geometric, and similar
   discrete distributions.

   \item \label{estimation} state and determine applicability of the Weak
   Law of Large Numbers and similar estimates of deviation from the mean
   to problems of estimation and error tolerance.

   \end{enumerate}


\item \label{student teams} discuss and solve problems with fellow
students in a small team, and prepare and orally present solutions to
short problems.


\end{enumerate}

\iffalse

\begin{center}
Objectives
\end{center}

\ref{defs and proofs} Proofs, \ref{optimization} Combinatorics,
\ref{data and algorithms} Data and algorithms, \ref{probability}
Probability, \ref{teams} Teams.


\begin{center}
Outcomes: reflected Objectives
\end{center}

\ref{soundness} Recognize proofs: \ref{defs and proofs}

\ref{proofs} Synthesize proofs: \ref{defs and proofs}

\ref{graph models}: \ref{defs and proofs}, \ref{optimization}, \ref{data and algorithms}

\ref{solve graphs}: \ref{optimization}, \ref{data and algorithms}

\ref{arithmetic}: \ref{defs and proofs}, \ref{data and algorithms}

\ref{closed forms}: \ref{data and algorithms}, \ref{optimization}

\ref{counting}: \ref{optimization}, \ref{probability}, \ref{data and algorithms}

\ref{invariants}: \ref{defs and proofs}, \ref{data and algorithms}

\ref{Big-O}: \ref{data and algorithms}, \ref{optimization}

\ref{calculate probability}: \ref{probability}

\ref{student teams}: \ref{teams}
\fi


\end{document}
