Undergraduate Catalog 2011-2013 - SUNY Institute of Technology
Undergraduate Catalog 2011-2013 - SUNY Institute of Technology
Undergraduate Catalog 2011-2013 - SUNY Institute of Technology
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Courses<br />
CS 377 Introduction to the Theory <strong>of</strong> Computing (4)<br />
Introduction to theoretical computer science. Topics include: automata,<br />
formal languages, Turing machines, recursive function theory,<br />
computational complexity, and program correctness. Prerequisites: CS<br />
240 and MAT 115.<br />
CS 381 Principles <strong>of</strong> Computer Security and Cryptography<br />
Focuses on general principles <strong>of</strong> computer security and cryptography. Topics<br />
covered include threat trees, threat taxonomies, malware, common attacks,<br />
cryptographic principles, block ciphers, hash functions and public-key<br />
cryptography. Prerequisites: MAT 115 or MAT 413, CS 249 and CS 330.<br />
CS 407 UNIX System Administration (4)<br />
Topics will include: concepts involving system administration and<br />
maintenance procedures to facilitate normal system operation; technical<br />
details regarding problems that could result from operating system<br />
malfunction as well as threats to system security that are inherent in a<br />
multiprogramming environment; techniques and tools for hardware and<br />
s<strong>of</strong>tware configuration management. Prerequisite: CS 307; Corequisite:<br />
CS 330.<br />
CS 409 S<strong>of</strong>tware Project Management (4)<br />
This course presents different techniques for managing s<strong>of</strong>tware projects<br />
and technical staff and familiarizes the student with artifacts <strong>of</strong> project<br />
management. The topics to be covered include: user specification; project<br />
proposal; contracts; s<strong>of</strong>tware cost models and estimation techniques;<br />
project planning; implementation management; project delivery.<br />
Prerequisite: CS 370.<br />
CS 420 Numerical Computing (4)<br />
Basic techniques <strong>of</strong> numerical computation. Topics include: computer<br />
arithmetic and error control, solution <strong>of</strong> non‐linear algebraic equations<br />
including some non‐linear optimization, polynominal interpolations<br />
including splines, curve fitting, integration, and an introduction to<br />
differential equations. Emphasis will be on non‐formal settings with a<br />
view toward applications. Prerequisites: Calculus and pr<strong>of</strong>iciency in a<br />
high-level programming language.<br />
CS 421 Computational Linear Algebra (4)<br />
Computational aspects <strong>of</strong> linear algebra, including linear optimization<br />
models, are explored. Topics include: different algorithms for solution<br />
<strong>of</strong> sets <strong>of</strong> linear algebraic equations, eigenvalue problems, linear<br />
programming, clustering techniques, and s<strong>of</strong>tware requirements.<br />
Prerequisites: CS 240 and MAT 340 or equivalent.<br />
CS 431 Principles <strong>of</strong> Programming Languages (4)<br />
This course fosters a disciplined approach to the design <strong>of</strong> programs.<br />
Through carefully chosen assignments, the need for certain data<br />
structures and programming language features is made apparent. Several<br />
different programming languages are used. Topics include: structured<br />
programming, functional programming, recursion, and string processing.<br />
Prerequisite: CS 240.<br />
CS 441 Computer Systems Architecture (4)<br />
After a higher level review <strong>of</strong> current mainframe architecture and<br />
operating systems, advanced architectures, proposed and implemented<br />
for parallel computation, will be considered. The second half <strong>of</strong> the<br />
course will survey techniques for modeling and assessing performance <strong>of</strong><br />
computer systems and networks, with emphasis on probabilistic models.<br />
Prerequisites: MAT 225 and CS 220.<br />
CS 445 UNIX Network Programming (4)<br />
The course explores computer networks from the implementation and<br />
programming point <strong>of</strong> view. The network architecture and communication<br />
protocols studied by the class allow connection <strong>of</strong> heterogeneous systems<br />
in an environment that may be geographically distributed. Prerequisites:<br />
CS 240 and knowledge <strong>of</strong> UNIX and C.<br />
CS 446 Local Area Network Architecture (4)<br />
An intensive study <strong>of</strong> LAN architecture models for Computer Science<br />
students. Topics include: contention‐free and contention-based models,<br />
hybrid nets, HSLANs, integrated voice/video/data models. Prerequisites:<br />
CS 220 and CS 330.<br />
CS 450 Computer Graphics (4)<br />
A conceptual and programmatic introduction to raster and vector<br />
graphics. Topics include object-oriented graphics application programming<br />
interfaces, hierarchical modeling, concepts <strong>of</strong> scene graphs, geometric<br />
transformations and transform groups, behaviors for animation and<br />
interaction, interactive tools for geometries and behaviors, classical<br />
application programming interfaces, web-related graphics technologies,<br />
and graphics file formats. Prerequisites: CS 240 and MAT 115.<br />
CS 451 Distributed Systems (4)<br />
A study <strong>of</strong> distributed protocol and s<strong>of</strong>tware frameworks. Synchronous<br />
and asynchronous networks will be covered. Protocols for leader election<br />
and distributed consensus will be presented synchronous networks. Faulttolerant<br />
protocols will be discussed for synchronous systems as well as<br />
their adaptability in asynchronous models. The use <strong>of</strong> shared memory<br />
and message passing as well as Byzantine failures will be discussed.<br />
Prerequisites: CS 240 and CS 330.<br />
CS 454 System Simulation (4)<br />
An introduction to the basic techniques <strong>of</strong> systems modeling and analysis<br />
through system simulation. Discrete and continuous system simulation<br />
models, use <strong>of</strong> various simulation packages and analysis <strong>of</strong> simulation<br />
output are included for consideration. Prerequisites: C, C++, or JAVA<br />
and senior status or permission <strong>of</strong> instructor.<br />
CS 477 Algorithms (4)<br />
How good is it? Is there a better algorithm to solve it? This course aims<br />
at developing a toolbox <strong>of</strong> algorithms for solving real problems that arise<br />
frequently in computer applications and the principles and techniques for<br />
determining their time and space requirements and efficiency. In addition,<br />
the general complexity spectrum is discussed to give students a grounding<br />
in intractability and unsolvability. Prerequisites: MAT 115 and CS 240.<br />
CS 480 Compiler Design (4)<br />
Basic concepts <strong>of</strong> formal languages and automata theory and their<br />
applications in compiler writing. Several practical parsing methods are<br />
discussed. Prerequisite: CS 240.<br />
CS 489 Cooperative Work‐Study in Computer Science<br />
(Variable 1‐4)<br />
Student will be employed by a cooperating firm or agency. Periodic<br />
progress reports will be required. The department will provide a list <strong>of</strong><br />
cooperating employers, and the student will be required to interview for<br />
the position. Students are paid by the employer. Prerequisites: Limited to<br />
Computer Science majors who have completed core courses and secured<br />
departmental approval. Additional restrictions are on file with the<br />
department. Only S/U grades are awarded for this course.<br />
CS 490 Selected Topics in Computer Science (Variable 1-4)<br />
Coverage <strong>of</strong> a specialized computer science topic, <strong>of</strong> current interest but<br />
not adequately treated in regular course <strong>of</strong>ferings. The topic may, for<br />
example, be the theoretical and programmatic study <strong>of</strong> a methodology<br />
for a class <strong>of</strong> computational problems, an introduction to a research area<br />
<strong>of</strong> computing, or an in-depth examination <strong>of</strong> the usage and internals <strong>of</strong> a<br />
s<strong>of</strong>tware artifact or framework. The same topic will not be repeated for<br />
at least two years. Prerequisites: CS 240 and MAT 115.<br />
CS 491 Independent Study (Variable 1‐4)<br />
Extensive study and research on a particular topic <strong>of</strong> student interest<br />
under the supervision <strong>of</strong> a faculty member. The student is required to<br />
submit a written proposal which includes a description <strong>of</strong> the project, its<br />
duration, educational goals, method <strong>of</strong> evaluation, and number <strong>of</strong> credits<br />
to be earned. Prerequisites: Matriculated students only, permission <strong>of</strong><br />
instructor and dean <strong>of</strong> subject area.<br />
CS 495 Artificial Intelligence (4)<br />
An introduction to fundamental knowledge representation schemes<br />
and intelligent problem-solving techniques, and corresponding<br />
implementation s<strong>of</strong>tware artifacts. Both symbol system and biology/<br />
society-based approaches are covered. Topics include state space heuristic<br />
search, constraint satisfaction, classical logic, fuzzy logic, Bayesian<br />
techniques, connectionism, genetic algorithms, swarm and multi-agent<br />
intelligence, and planning. Prerequisites: CS 240 and MAT 115.<br />
<strong>SUNY</strong>IT <strong>Undergraduate</strong> <strong>Catalog</strong> <strong>2011</strong>-<strong>2013</strong> 99<br />
C O U R S E S