Comp 122/L

advertisement
Comp 256/L
Foundations of Computer Science and Lab
Lecture Section Number: 14785 Lab Section Number: 14786
SPRING 2012
Instructor:
Office:
Email:
Web Page:
Office Hours:
Diane Schwartz
4401 Jacaranda Hall
diane.schwartz@csun.edu
www.csun.edu/~dls
MW 1045 - 1145
COMP 256 Meets:
COMP 256L Meets:
MW 0800 - 0915 in JD 1600
MW 0930 – 1045 in JD 1600
Course: Study of discrete mathematical structures and proof techniques as used in computer science.
Discrete structures such as functions, relations, sets, graphs, and trees. Proof techniques such as proof by
induction, proof by contradiction, and proof by cases. Counting techniques. Lab: three hours per week.
Prerequisites: Prerequisites: MATH 150A, PHIL 230, COMP 182/L. [Note: Comp 256 and Comp 256L
must be taken at the same time]
Required Textbook: Discrete Mathematics, Fifth Edition
by Kenneth Ross and Charles Wright , Prentice Hall
Software for Lab: We will be programming in Java with and jgrasp in the lab. You can download Java 6
from http://java.sun.com/javase/downloads and download jgrasp ( java development environment) from
http://www.eng.auburn.edu/grasp .
On-line Java Documentation: http://java.sun.com/javase/6/docs/api/index.html
Grading Policies: The lecture and lab are integrated courses. You will receive the same grade for both the
lecture and the lab. Plus and minus grading will be used. Your grade will be weighted as follows:
Lecture Work:
Midterm I
Midterm II
Homework
Final Exam
20%
20%
10%
20%
Lab Work:
Attendance/Participation
Lab Programming Projects
Quizzes
5%
15%
10%
Course Goals ( lecture + laboratory):
1. Demonstrate basic understanding of sets, functions and relations
2. Be able to apply various proof techniques from formal logic
3. Be able to relate ideas of mathematical induction to recursion and recursively defined structures
4. Be able to solve counting problems involving combinations and permutations and apply to
algorithm analysis and to basic probability problems.
5. Demonstrate basic understanding of graphs and trees and related algorithms and their application
to computer science problems.
6. Demonstrate a basic understanding of Big-Oh notation and its application to algorithm analysis
Laboratory Component (Format of the lab varies from week to week)
1. Students will work on homework problems.
2. Quizzes every Monday on lecture material from previous week.
3. Java programming projects to illustrate applications of mathematics to computer science.
Lecture Topics:
1. Functions, Sets and Relations ( Chapter 1 from text)
2. Proof Techniques ( Chapter 2)
3. Relations (Chapter 3)
4. Induction and Recursions and Big-Oh Notation(Chapter 4)
5. Basics of Counting with some Probability ( Chap 5)
6. Introduction to Graphs and Trees ( Chapter 6)
Comp 256 Tentative Lecture Schedule
Weeks
1/23, 1/25
1/30, 2/1
2/6, 2/8
2/13, 2/15
2/20
2/20, 2/22
2/27, 2/29
3/5 , 3/7
3/12, 3/14
3/19, 3/21
3/26, 3/28
3/28
4/3 - 4/6
4/9, 4/11
4/16, 4/18
4/23, 4/25
4/30, 5/2
5/7, 5/9
5/14
Lecture Material
Ch 1 Sets and Functions
Ch 1 Sets and Functions
Ch 2 Proof Techniques
Ch 2 Proof Techniques
Midterm 1
Ch 3.1 – 3.3 Relations
Ch 3.4 Equivalence Relation, Partitions
Ch 3.5 Division Algorithm and Int Mod p
Ch 4 Induction and Recursion and Big O
Ch 4 Induction and Recursion and Big O
Ch 4 Induction and Recursion and Big O
Midterm 2
Spring Break
Ch 5 Counting Techniques
Ch 5 Counting Techniques and Probability
Ch 5 Counting Techniques
Ch 6 Graphs and Trees
Ch 6 Graphs and Trees
Final Exam ( 8:00 – 10:00 am) JD 1600
Download