Page 383 - BSU Undergraduate-Catalog-2017-2019
P. 383
COSC 402 SOFTWARE AND OPERATING SYSTEM SECURITY (SPRING) 3 CREDITS
Prerequisite(s): COSC 330 or Consent of Instructor. This course will examine security principles and practices important to operating systems and
programming. Topics include: OS security architecture; memory security; authentication, including account and password protection
mechanisms; assessing OS vulnerabilities; programming security and attacks such as buffer overflow attacks and writing secure code;
application interaction; module control; auditing host security, including operational logs; malicious logic including viruses and virus protection;
and security applications.
COSC 409 GAMING IV (PERIODICALLY) 3 CREDITS
Prerequisite(s): COSC 309. This course will provide an introduction to current and future techniques for electronic game design and
programming. Topics will include graphics game engines, motion generation, behavioral control for autonomous characters, interaction
structure, and social and interface issues of multi-user play. The course will emphasize hands-on development of games.
COSC 414 OPERATING SYSTEMS (SPRING) 3 CREDITS
Prerequisite(s): COSC 214 and COSC 330. This course is a study of batch systems, interactive systems, spooling systems, multiprogramming systems,
I/O processors and techniques, intra-system communication, deadlocks, indefinite postponement, microprogramming, parallelism, and
pipelining. Dynamic procedure activation, system structure, memory management, process management, and recovery procedures, and case
studies of recent operating systems also will be covered.
COSC 418 PRINCIPLES OF COMPUTER GRAPHICS (FALL) 3 CREDITS
Prerequisite(s): COSC 214 and MATH 228. This course introduces students to basic concepts and essential principles of Computer Graphics
from programming perspective. It includes topics such as Geometric Modeling, Lighting/Shading, Subdivision of Curves and Surfaces, Mesh
Parameterization, Texture Mapping, Morphing, and Animation. Students will use a standard Computer Graphics Library and develop simple
algorithms of Computer Graphics to reinforce the concepts.
COSC 420 DATABASE MANAGEMENT (FALL) 3 CREDITS
Prerequisite(s): COSC 214. This course is an introduction to concepts, design objectives, tools, and principles of database management system
software. Descriptors, structures, database system architectures, entities, relationships, and data models. The relational, network and
hierarchical database models, normal forms, and canonical data structures will be studied as a basis for logical organization. Relational algebra
and calculus, introduction to concurrency, and transaction management are studied.
COSC 423 AUTOMATA AND COMPUTATION THEORY (PERIODICALLY) 3 CREDITS
Prerequisite(s): COSC 208. This course is a study of finite state machines, push-down automata, and Turing machines. The Resolution Principle
as applied to propositional first order logic, and aspects of mathematical logic with emphasis on applications to computing machines are discussed.
COSC 428 DESIGN AND ANAYLYSIS OF ALGORITHMS (SPRING) 3 CREDITS
Prerequisite(s): COSC 214. This course will include the design and analysis of algorithms. Algorithms that manipulate data structures such as
lists, stacks, queues, trees, and graphs are discussed in terms of efficiency and existence. Algorithms for data compression, memory management,
and advanced hashing techniques will be studied. Topics also include balancing algorithms, divide-and-conquer algorithms, dynamic programming,
the greedy approach, backtracking, branch-and-bound, advanced search/sort techniques, the P=NP problem, parallel algorithms, and newly
promoted algorithms will be studied and researched.
COSC 430 SYSTEMS PROGRAMMING II (SPRING) 3 CREDITS
Prerequisite(s): COSC 330. This course is a study of basic systems software (assemblers, loaders and linkers, macro processors, etc.). Basic
constructs of the C/C++ language are reviewed with special emphasis on developing software using C/C++ in UNIX environment. Also covered
are UNIX file access primitives: open, creat, close, read, write, copyfile, lseek, fentl; files in multi-user environment: Call umask, commands
access, chmod, chown, system calls link, unlink, rename, stat, fstat; directories, file systems and special files; process: fork, exec, wait, waitpid;
process attributes; signals and signal handling; inter-process communication techniques; the terminal; sockets; I/O library; and library routines.
COSC 445 FUNDAMENTALS OF CRYPTOGRAPHY AND APPLICATIONS (SPRING) 3 CREDITS
Prerequisite(s): COSC 208. This course will examine the details of how some of the typical security protection measures work. Topics include:
Certificate Authorities (CA), Public Key Infrastructure, Rivest-Shamir-Adleman (RSA) architectures, Data Encryption Standard, Pretty Good
Privacy, steganography, and security standards. In addition, key cryptologic terms, concepts, and principles will be defined and explained as
well as authentication, access control, non-repudiation, data integrity, and confidentiality issues.
COSC 454 EMBEDDED SYSTEM DESIGN (SPRING) 3 CREDITS
Prerequisite(s): COSC 354. This course explores the design of custom circuitry and single-purpose processors. The emphasis is on
hardware/software codesign, using high-level tools to implement circuitry and program microprocessors. Topics covered are: digital circuitry,
software development for general-purpose processors, single-purpose processors, memory systems, communication interfaces, finite state
machines, concurrent processing models, control theory, integrated circuitry, synthesis levels and verification.
384