20.03.2014 Views

2007-2008 Undergraduate Catalog - Kettering University

2007-2008 Undergraduate Catalog - Kettering University

2007-2008 Undergraduate Catalog - Kettering University

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Course Descriptions / 141<br />

COMM-435 Written & Oral Communication for Overseas Students<br />

Prerequisite: NA 4 0 0 4<br />

Minimum Class Standing: NA<br />

This course, intended for overseas students, seeks to heighten their awareness<br />

of American business communication practices. It will help develop a<br />

systematic approach to written and oral communication in the workplace.<br />

Topics include the nature of organizational communication and business<br />

writing, including techniques for writing letters, memoranda, proposals, and<br />

reports. Electronic communication practices are examined. Emphasis is<br />

also placed on professional communication skills in multicultural<br />

environments and relevant current events. This course does not receive credit<br />

in any <strong>Kettering</strong> <strong>University</strong> degree program.Terms Offered: Fall, Spring<br />

CS-101 Computing and Algorithms I 3 0 2 4<br />

Prerequisite: NA<br />

Minimum Class Standing: NA<br />

An introduction to algorithmic problem solving, with emphasis on elementary<br />

program and software engineering techniques. Syntax and semantics of a<br />

modern programming language; programming and debugging at the file level;<br />

true object-orientation; Strings, arrays, sorting, inheritance, and exception<br />

handling. Terms Offered: All<br />

CS-102 Computing and Algorithms II 3 0 2 4<br />

Prerequisite: CS-101<br />

Minimum Class Standing: NA<br />

A second course in algorithmic problem solving. Recursion, abstract data<br />

types, dynamic data structures, comparison-based sorting, elementary<br />

algorithm analysis, design of software projects of moderate size, and<br />

continuing development of programming skills. Terms Offered: All<br />

CS-202 System Programming Concepts 3 0 2 4<br />

Prerequisite: CS-102<br />

Minimum Class Standing: SO<br />

Fundamental system programming concepts are examined using the C<br />

programming language. Topics include: machine organization, data<br />

representation, interrupt handling, I/O, file management, dynamic structures,<br />

parameter passing, memory management, system calls, process creation,<br />

process control, interprocess communication, and language interfaces. Terms<br />

Offered: All<br />

CS-203 Computing & Algorithms III 3 0 2 4<br />

Prerequisites: CS-102, CS-211<br />

Minimum Class Standing: SO<br />

The design and analysis of advanced data structures and algorithms.<br />

Algorithm design techniques, algorithm analysis techniques, advanced data<br />

structures, advanced sorting, applications to various problem domains. Terms<br />

Offered: All<br />

CS-211 Discrete Mathematics 4 0 0 4<br />

Prerequisite: NA<br />

Corequisite: MATH-101<br />

Minimum Class Standing: NA<br />

Propositional and first-order logic; logical equivalence and inference. Proof<br />

techniques, mathematical induction and principle of diagonalization. Set<br />

operations, relations, functions. Introduction to graphs and trees and their<br />

applications to computer science. Lattice structures and Boolean algebras.<br />

Truth tables and minimization of Boolean expressions. Terms Offered: All<br />

CS-300 The Computing Professional 4 0 0 4<br />

Prerequisites: CE-210 or CS-102, COMM-101<br />

Minimum Class Standing: SO<br />

An examination of the profession of computing from historical and ethical<br />

perspectives. Overview of the history of computing, from the earliest<br />

computational devices and theoretical foundations to modern developments.<br />

Discussion of the social impact of computing on society and the ethical<br />

implications for computing professionals, including analysis of case studies.<br />

Terms Offered: Summer, Fall<br />

CS-312 Theory of Computation 4 0 0 4<br />

Prerequisites: CS-102, CS-211<br />

Minimum Class Standing: SO<br />

Regular languages and grammars; finite-state machines and transducers;<br />

relationships between finite-state automata and regular languages. Contextfree<br />

languages and grammars; language recognition with stack machines and<br />

parsers. Properties of formal languages. Computability and undecidability.<br />

Introduction to computational complexity. Terms Offered: All<br />

CS-320 Computer Graphics 3 0 2 4<br />

Prerequisites: CS-102, MATH-101<br />

Minimum Class Standing: SO<br />

An introduction to computer graphics. Rendering and curve drawing<br />

techniques, clipping algorithms, light and reflection models, object<br />

transformations. Introduction to three-dimensional graphics. Terms Offered:<br />

Fall, Winter<br />

CS-331 Programming Language Design 4 0 0 4<br />

Prerequisites: CS-203, CS-312<br />

Minimum Class Standing: JR<br />

A study of the principles behind the design of programming languages.<br />

Syntactical design, control structures, data structures, naming and<br />

environments, language design tools, historical development, implementation<br />

issues. Terms Offered: Summer, Fall<br />

CS-341 Web Software Tools 3 0 2 4<br />

Prerequisite: CS-102<br />

Minimum Class Standing: NA<br />

World Wide Web programming tools. Introduction to web programming. Web<br />

development, client-side development using HTML and its extensions, serverside<br />

development. Complete web system. Computer technologies including<br />

several computer languages. Terms Offered: Winter, Spring<br />

CS-415 Cryptography 4 0 0 4<br />

Prerequisite: CS-203<br />

Minimum Class Standing: JR<br />

A study of modern data security. Mathematical foundations of cryptography.<br />

Classical cryptographic systems and computer attacks on these systems.<br />

Cryptographic security over unsecure communication paths: cryptographic<br />

protocols, oblivious transfers, proofs of identity, signature schemes. Modern<br />

cryptographic systems: data encryption standards, public-key systems, key<br />

generation and management. External considerations are presented and<br />

discussed: security organizations role in security, privacy considerations,<br />

import/export issues. Terms Offered: Summer, Fall<br />

CS-421 Applied Graph Theory 3 0 2 4<br />

Prerequisite: CS-203<br />

Minimum Class Standing: JR<br />

Topics in graph theory including subgraphs, trees, connectivity, graph<br />

traversal, directed graphs, planarity, graph matching and coloring, and<br />

advanced graph decomposition techniques. Emphasis will be on graph<br />

algorithms and their complexity. Graphs will be used to develop solutions to<br />

problems from various areas such as electrical engineering, operations<br />

research, and business applications. Terms Offered: Summer, Fall<br />

CS-425 Parallel Models and Algorithms 3 0 2 4<br />

Prerequisite: CS-203<br />

Minimum Class Standing: JR<br />

An introduction to various models for parallel computation, such as PRAM<br />

models, vector processors, interconnection networks, trees, meshes,<br />

hypercubes, and sorting networks. Performance measures for parallel models<br />

and for parallel algorithms. Parallel algorithms for searching, sorting, merging,<br />

trees, graphs, and the study of their efficiency. Implementation of some parallel<br />

algorithms are on a parallel machine. Terms Offered: Summer, Fall<br />

CS-431 Compiler Design and Construction I 3 0 2 4<br />

Prerequisites: CS-203, CS-312<br />

Minimum Class Standing: JR<br />

A study of compiler design techniques; scanning, parsing, error recovery and<br />

intermediate code generation and optimization; tools for compiler<br />

construction, including scanner generators and compiler-compilers.<br />

Construction of a working compiler front-end. Terms Offered: Winter, Spring

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!