syllabus 2
Purpose of the Course
The emphasis is on
algorithmic
problemsolving. Algorithmic efﬁ
ciency, elegance, and generality are
important characteristics.
The course prepares students to solve problems in computing with
applications in business, engineering, mathematics, the social and
physical sciences and many other ﬁelds. Students study discrete,
ﬁnite and countably inﬁnite structures: logic and proofs, sets, nam
ing systems, in particular, number systems, relations, functions, se
quences, graphs, and combinatorics. These topics are commonly
used to reason about problems and to develop correct algorithmic
solutions for them.
Course Outcomes
By the end of the course, each student will be able to
1
.
The decimal number 15 can be
written as
(
15
)
10
= (
1111
)
2
= (
01111
)
2
c
= (
F
)
16
2
.
x
∈
∅
=
⇒
x
∈
X
.
3
.
For all natural numbers
n
∑
0
≤
k
<
n
2
k
=
2
n

1
4
.
For all sets
X
and
Y
,
X
∪
Y
=
X
∩
Y
.
5
.
If
p
=
False
,
q
=
False
, and
r
=
True
, then
(
p
→
q
)
∧
(
¬
p
→
r
) =
True
.
6
.
You can fool some of the people all
of the time, and all of the people
some of the time, but you cannot
fool all of the people all of the time.
(
∃
p
)(
∀
t
)(
canfool
(
p
,
t
))
∧
(
∀
p
)(
∃
t
)(
canfool
(
p
,
t
))
∧
(
∃
p
)(
∃
t
)(
¬
canfool
(
p
,
t
))
.
(
1
)
7
.
⊆
is a partial order on 2
X
partial
orders and equivalence relations.
8
.
Using an
O
(
n
lg
n
)
sorting algo
rithm. a million things can be
ordered in about 20 million steps.
9
.
There are
(
n
k
)
k
elements subsets of
an
n
element set.
10
.
P
=
{
2, 3, 5, 7, 11, .
. .
}
,
gcd
(
51, 24
) =
1, 3
x
=
4
(
mod 5
) =
⇒
x
=
3.
1
. Use several systems to name numbers; employ algorithms to
convert between these systems; and compute the number of things
that can be named in a system as a function of its alphabet size
and the length of numeral strings.
2