MTH 225 Lecture-Module #01:
Introduction to This Course
how can we really know that some given code/algorithm/scheme really works / is correct?
should do
for the given code/algorithm/scheme
fundamental information
title:
"Discrete Structures: Computer Science 1"
instructor:
Hugh McGuire
Ph.D. Stanford 'temporal logic' formalizing properties of programs
please call me "Professor McGuire" or "Mr. McGuire"
("Dr. McGuire" just sounds funny to me)
and in return I'll call you "Mr. ________"/"Ms. ________"
most significant information:
for details re this course, consult web-site:
http://www.cis.gvsu.edu/~mcguire/teaching/225/
(also note:
mcguire@cis.gvsu.edu
)
in this section of MTH 225, I require work on computers
which you should be accessing anyway in ~~co-requisite CS 163
machines called
managed by CSIS Department
if you did CS 163 previously, ensure your EOS account still works — contact CIS
if you do not have an EOS account because you are not taking and have not already taken CS 163,
consult me
textbook:
* "Discrete Mathematics and its Applications (6th ed.)"
by Kenneth Rosen
save money by sharing in teams of 2
I want you to do homework in teams of 2 anyway
if our university bookstore sells out of an item, naturally ask them to order more of them
initial homework assignment is posted in Website
as specified in the syllabus,
participation in lectures is worth
% of your final grade
when I call upon you during lecture,
you earn the credit for participation by simply saying one pertinent thing
you do not need to answer a question completely correctly
if I want more than the answer you give,
I can call upon more people
e.g. different people guess percentage that participation is worth
if you really don't want me to call on you during lectures, just tell me and I won't
beyond being called upon, further opportunities for you to earn credit for participation may include your asking pertinent questions,
and/or in-class exercises.
lecture notes
our textbook contains all of this course's material
but for those who may want to use my lecture notes as additional reference material,
I provide them in Web-site
you can print them before lectures
and write on them during lectures
broad introduction to course material
"Mathematical Foundations of Computer Science"
some elements of this course used directly in other CS
e.g. throughout programming use logical conditions
such as "
&&
", "
!
"
e.g. Database course uses "EXISTS", sets
some used to talk about CS
some of this course is notation
as in programming learn "[]" used for
some of this course is training in careful thinking
including some math used various places in CS
e.g. modulus used to make communications secure and games not so predictable
plus some material serving as basis for subsequent courses
e.g. set-notation serves as basis for database operations
plus some formal reasoning
which indirectly prepares for / promotes better programming
(programming is formalizing processing)
and more directly serves as basis for analysis of algorithms
- how clear is it that a program is correct?
(has Microsoft ever released software with weaknesses? ;-}
- how fast is a program?
here's a list of the main people who invented/founded Computer Science and Information Systems:
Charles Babbage
Ada Lovelace
Alan Turing
John von Neumann
Grace Hopper
Claude Shannon
Stephen Kleene
Andreii Kolmogorov
they were all
this course covers careful (mathematical) thinking which serves as the foundation of Computer Science.
example
in-class exercise/activity [4 participation points for each person]
divide into groups of four or three, each group work on one handout I'll give you
first write all of group's members' names on sheet
and each circle "do-not-call" or "ok-to-call"
then work on
problem
Hint:
Break the problem down: First, solve the problem for the first day.
Then work on the next day, thinking about what is really necessary
at the end of that day...
[Acknowledgement: this problem has been used in interviews at Microsoft]
summary of this lecture-module:
* highlights of administrative details
* broad introduction to course material
* example
(Copyright © 2008 by Hugh McGuire —
for thoughts about this, see
http://www.cis.gvsu.edu/~mcguire/teaching/copyright_thoughts.html
.)