03.09.2014 Views

Undergraduate Catalog 2011-2013 - SUNY Institute of Technology

Undergraduate Catalog 2011-2013 - SUNY Institute of Technology

Undergraduate Catalog 2011-2013 - SUNY Institute of Technology

SHOW MORE
SHOW LESS

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

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

Saved successfully!

Ooh no, something went wrong!