*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