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 .)