2007-2008 Undergraduate Catalog - Kettering University
2007-2008 Undergraduate Catalog - Kettering University
2007-2008 Undergraduate Catalog - Kettering University
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