CS 1187 Applied Discrete Structures 3 credits

CATALOG DESCRIPTION
Discrete structures in computer science and electrical engineering. Boolean algebra and logic: sets, functions, and relations; iteration, recursion, and induction; algorithms, programming in pseudo code, basic counting principles; graphs and trees; and other selected topics from discrete mathematics. Cross-listed as Math 1187.

COURSE GOALS
The primary goal of this course is to introduce students to the mathematical and theoretical foundations of theoretical computer science and electrical engineering. The material will provide the necessary preparation for successful study of upper-level computer science and electrical engineering topics such as data structures, analysis of algorithms, relational calculus, and SQL queries. This course also facilitates life-long learning in computer science and electrical engineering by providing the student with the theoretical foundational materials that continues to be applicable even as the discipline rapidly evolves.
Prerequisites: CS1181
Programming language:
Compiler:
Operating system:
Computer Usage: as needed for preparation of homework/lab assignments and access to MOODLE.
Course Coordinator: David Beard

TERM SPECIFIC INFORMATION
Instructor:
Office:
Email:
Office Hours:
Class Hours:
Class Location:
Textbook: Discrete Mathematics and its applications 6th edition, – Rosen, McGraw Hill, ISBN-13: 978-0073229720

MAJOR TOPICS COVERED
Boolean algebra and logic including translating between symbolic logic and English including quantifiers;
sets, functions, and relations including a brief introduction to cross products and natural joins;
iteration, recursion, and induction;
algorithms, including the formal definition of order N and analysis of algorithms.
programming in pseudo code,
basic counting principles;
graphs and trees.

STUDENT OUTCOMES RELEVANT TO CS1187
• an ability to apply knowledge of computing and mathematics appropriate to the discipline
• course introduces students to the mathematical and theoretical foundations of computer science.
• recognition of the need for, and an ability to engage in, continuing professional development
 o This course also facilitates life-long learning in computer science and electrical engineering by providing the student with the theoretical foundational materials that continues to be applicable even as the discipline rapidly evolves.
• an ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the trade-offs involved in design choices
 o The material will provide the necessary preparation for successful study of upper-level computer science and electrical engineering topics such as data structures, analysis of algorithms, relational calculus, and SQL queries

GRADING
50% homework, 50% tests. Homework is submitted using the Moodle tool. Homework projects are graded on a 100 point scale with a grade and written comments provided to the student through Moodle. Tests are graded on a 100 point scale. <=50% F, 60-69% D, 70-79% C, 80-89% B, 90-100 A.

HOMEWORK (LABORATORY) PROJECTS
Varying by semester and section, about 12 homework sets are assigned each semester varying from 2 to 3 weeks Office hours are provided by the instructor and students are encouraged to start assignments early and seek frequent assistance.

CURRICULUM CATEGORY CONTENT
Algorithms
Software Design 
Computer Org. 
Data structures
Programming Languages 

SAMPE SECURITY CONTENT:
Algorithm analysis
Searching/sorting
Best case/worst case running time
Programming
Secure coding practices

NIATEC National Science Foundation Information Assurance Directorate Department of Homeland Security CISSE Scholarship For Service