CSIT 100 - Freshman Seminar |
Introduction
to computing environments available on campus; e-mail, Internet
access and web; campus computing policies; computing and information
technology ethics; other campus resources and their effective use;
building a support network with faculty, staff and peers; improving
study skills inside and outside the classroom. Corequisite: Freshman
Standing. |
CSIT 101 - Programming with 3D Graphics and Multimedia** |
Introductory
programming course using a high-level, object -oriented language,
such as ALICE. The course covers object-oriented and event driven
programming concepts, in addition to algorithms and elementary
programming techniques that are needed to develop elementary
graphics and multimedia applications. Prerequisite: NYS Algebra II
and Trigonometry (or Math B), or equivalent. |
CSIT 104 - Introduction to Microcomputer Software |
Introduction
to microcomputers; elementary concepts and operations of
spreadsheets and database management systems; analysis of a variety
of problems, their design, and implementation of solutions using
commercially available window-based software. Three units of high
school mathematics required. |
CSIT 105 - Visual BASIC I |
Object-oriented and event-driven programming, concepts using Visual
Basic (VB); VB development environment; intrinsic controls and
programming structures: data types, declarations, input/output,
decision-making and loops; formatting; functions and subroutines.
Three units of high school mathematics required. |
CSIT 106 - Scientific Programming Using C/C++ |
Scientific
problem solving; structured program development: simple algorithm
design, arithmetic operations, data types and their declarations;
control statements, loops, input and output including text files;
arrays, functions, mathematical functions and round off error
estimation. Applications to engineering, sciences and mathematics.
Credit will not be given for both CSIT 106 and 121. Background
assumed: NYS Algebra II and Trigonometry (or Math B), or equivalent.
|
CSIT 107 - Web Programming I |
An
introductory course in client-side web technologies: HTML, cascading
style sheets and JavaScript; designing and publishing a web site.
Other topics include history of the Internet and World-Wide Web,
HTML editors, and graphics. |
CSIT 120 - Computer Science Overview |
A
comprehensive overview of the scope and dynamics of computer
science. Survey of the field of computer science. Topics include:
history of computing, computer organization and components,
operating systems, programming languages, introduction to
programming and program development, data structures, problem
solving, software engineering, computer ethics, and computer
applications. Background assumed: NYS Algebra II and Trigonometry
(or Math B), or equivalent. |
CSIT 121 - Computer Science I |
This course is
given in a computer laboratory to provide students hands-on exposure
to the following major topics: Problem solving, algorithm design and
development, structured programming: top-down design and functional
decomposition; elementary data types; expressions, I/O functions
control structures; functions: scope rules, pass by value, pass by
reference; built-in functions; arrays; strings; function
overloading; elementary sort and search algorithms; introduction to
recursion and trees. Credit will not be given for both CSIT 106 and
CSIT 121. Background assumed: NYS Algebra II and Trigonometry (or
Math B), or equivalent. |
CSIT 151 - Introdution to Information Systems |
The course
introduces information technology used in day-to-day business
operations. It covers business applications software for office
management, communication, project management, relational databases,
eCommerce, web development, data transmission and networks, etc. The
course also covers such basic information systems concepts as
querying simple databases, data analysis and database design.
Laboratory instruction is used to complement the course with
hands-on experience with a set of above applications. This course is
designed for students who will work as end-users, user-managers,
leaders, or information systems professionals. |
CSIT 201 - Computer Security and Ethics** |
Introduces
desktop, internet, and network security issues and how they interact
with the ethical values of individuals, organizations, and society.
Includes methods of avoiding, detecting, and analyzing network
intrusions as well as the ethics related to computer security and
privacy. Background assumed: NYS Integrated Algebra and Geometry, or
Math A, or equivalent. |
CSIT 203 - Multimedia Systems** |
The course
introduces multimedia systems from a theoretical and practical
perspective. Topics covered include: computer manipulation of
images, music, animation, and video, including theoretical aspects
of lighting, color, elementary acoustics principles, motion,
perspective, graphical and sound file formats, and network
transmission. Various software packages will be introduced: for
raster and vector graphics; for 2D- and 3D-modeling and animation;
for sound recording and editing. Using these software packages and
applying the principles learned in the course, students will
practice creating, processing, and modifying graphics and sound.
Students will gain practical hands-on experience through the
coursework and understand the operating principles of multimedia
systems. No programming background is assumed. |
CSIT 205 - Visual BASIC II |
Advanced
visual BASIC programming techniques; Active X controls, multiple
forms, file I/O, interacting with databases, and error handling;
Windows API calls and Windows registry functions; and advanced
event-driven business applications. |
CSIT 207 - Web Programming II |
An advanced
course in server-side web programming. Topics include: cookies, file
and database access, portals and web applications; server side
scripting. Knowledge of HTML, and of C++, Java, or Visual Basic are
required. |
CSIT 221 - Computer Science II |
Hands-on
exposure to major topics in data structures and control, including
file I/O; abstract data types; static and dynamic data structures;
pointers and pointer arithmetic; binary numbers and bitwise
operations; class concepts; multi-dimensional arrays; linked lists;
doubly-linked lists; stacks, queues and their implementations and
applications; exception handling. The course provides a computer
laboratory component to ensure practice with the above concepts. |
CSIT 224 - Problem Solving Using Objects |
Object-oriented design methodologies; object-oriented programming;
class concepts, encapsulation; polymorphism, composition and
inheritance; virtual functions; delayed binding; class-interfaces
and message passing; generics/ templates; function overloading; and
exception handling; binary file I/O; advanced OO programming. |
CSIT 225 - Java Programming |
Basic
programming constructs: primitive types, expressions, and
statements; class hierarchies; elementary predefined classes such as
String and Math; object-oriented programming; packages and
interfaces; exception handling; I/O and file access; graphics;
applets; studio processing and other applications. |
CSIT 231 - Systems Programming |
UNIX commands,
shells, utilities, editors; file types and modes; shell scripts;
make-files; memory and storage management; C programming tools;
processes, IPC (signals, sockets, pipes); development tools;
streams; networking; UNIX internals, system administration and other
topics as time permits. |
CSIT 241 - Discrete Mathematics for Computer Science I |
Study of
mathematical topics needed for further study of computer science at
the advanced undergraduate level, including: logic, sets, proof
techniques, matrices, basic number theory, modular arithmetic,
functions, linear transformations, relations, basic combinatorics.
Credit will not be given for both CSIT 241 and MATH 210. |
A continuation
of CSIT 241. Topics include combinatorics, digraphs, and trees;
recurrence relations; switching circuits and logic gates; automata,
grammars and languages; other topics as time permits. |
CSIT 251 - Information Systems Structures |
Overview of
information systems (IS) for operational, tactical and strategic
functions of business organizations; IS practices and challenges for
business competitiveness; data, information and knowledge
processing; information systems theory and quality decision, systems
analysis and design, database management, network and network
management; electronic commerce and social and ethical issues; IS
and IT planning and implementation. |
CSIT 300 - Internship in Computer Science |
Participation
in an approved professional experience in the area of computer
science. Students must submit a proposal describing the work
experience, its relationship to subject matter in computer science,
and how it will be monitored and evaluated. Permission of the
department required. |
CSIT 305 - Computer Laboratory Assistantship |
Non-credit
course for students interested in performing computer-related
services for the Computer and Information Sciences program. Duties
include: proctoring in computing laboratories; assisting with the
labs in CSIT 121 or CSIT 221; helping the faculty director and/or
systems manager with basic laboratory maintenance. Grading is on an
S/U basis. Permission of the department required. |
CSIT 311 - Assembly Language and Computer Organizations |
Introduction
to the basic concepts of computer organization, digital logic, data
representation, and machine instructions repertoire; memory access
and storage; instruction execution; assembly language; computer
organization; levels of computer structures; data representation and
transfer; digital arithmetic; memory structure and addressing
methods; cache; secondary memory structure and organization. |
CSIT 312 - Computer Structures |
Introduction
to basic concepts of computer system and architecture; internal and
external memories, I/O and operating system support; instruction
execution; computer structure, organization and function; digital
arithmetic; memory structure and addressing methods; cache;
secondary memory structure and organization; system software
structure; purpose and functions of system programs; file systems;
process and resource management. For Computer Information Systems
majors; Computer Science majors may not count this course to meet
major requirements. |
CSIT 321 - Paradigms of Programming Languages |
Brief history
of programming languages; language design issues; syntax and
translation; data types; sequence control; the procedural paradigm;
the object-oriented paradigm; the functional paradigm; the logical
paradigm. |
CSIT 335 - Data Communication and Networks I |
Computer
networking overview; data communication system components; network
hardware, software and protocols, OSI model and network layers; line
utilization, switching and error handling; routing and data flow
control; point-to-point, broadcasting, local and wide networks, and
current practices; data encoding; internetworking; modern network
management protocols, applications reliability and security,
elementary network programming. Term projects are emphasized for
network applications. |
CSIT 341 - Data Structures |
Review basic
data structures and algorithmic complexities; sorting; generalized
lists; binary trees; binary search trees; tree traversals; advanced
hierarchical structures: n-ary trees, heaps, balanced trees, tries;
priority queues; hashing; graphs, graph algorithms; memory
mangagement; applications. |
CSIT 351 - Business Systems Development |
Review of
business programming language principles and techniques; interfacing
with computing environment; sorting, table handling, indexing and
searching; preparation and handling of data; file organization, and
file update; business system analysis, design and implementation;
introduction to business information systems. |
CSIT 390 - Directed Study |
An
intensive project-oriented course utilizing emerging technologies.
1.000 TO 3.000 Credit Hours 1.000 TO 3.000 Other hours Levels: Undergraduate Schedule Types: Directed Study Natural and Social Sciences College Computer and Info Sciences Department |
CSIT 400 - Directed Independent Study |
Independent
study of a selected list of readings approved by a faculty advisor.
Permission of the department required. 1.000 TO 3.000 Credit Hours 1.000 TO 3.000 Other hours Levels: Undergraduate Schedule Types: Independent Study Natural and Social Sciences College Computer and Info Sciences Department |
CSIT 411 - Programming for Embedded Microcontrollers |
Programming
and development for embedded microcontrollers. Embedded
architecture, programming considerations related to embedded systems
development. Memory utilization, I/O, synchronous and asynchronous
serial communication. Utilization of timers, and interrupts.
Development considerations for comparators, A/D converters, USARTs
and other on-board peripheral devices. Debugging, and utilization of
test equipment such as multimeters and oscilloscopes. Students will
build a series of embedded projects of increasing complexity. Some
very basic electronic design principles are also included. |
CSIT 413 - Computer Architecture |
Review of
computer organization and digital logic principles; system buses and
peripherals, main and cache memory overview; pipelined processing;
RISC and CISC concepts; Superscalar and IA-64 architecture;
performance evaluation; microarchitecture level and the control
unit. Term projects in digital system design are emphasized. |
CSIT 425 - Software Engineering |
Basic concepts
and major issues of software engineering; current tools and
techniques providing a basis for analysis, design, development,
maintenance, and evaluation of the system; structured walkthrough,
testing; verification and validation; technical, administrative, and
operating issues; privacy, security, and legal issues; developing a
team project using software engineering principles. |
CSIT 431 - Introduction to Operating Systems |
System
software organization, purpose and functions of computer operating
systems, batch processing systems: translation, loading and
execution; serial and parallel I/O processing; spooling; interrupt
facilities; memory protection and management; file systems;
multi-access and special-purpose systems; process scheduling;
accounting procedures and resource management; classical and popular
operating systems. |
CSIT 433 - Compiler Construction |
Finite
automata; languages and grammars; review of language structure,
translation, linking, loading, execution; run-time storage
organization; compilation of simple structures; compiler design
principles, organization and implementation; lexical analysis;
symbol tables; parsers and semantic analysis; code generation and
optimization; error diagnostics. |
CSIT 435 - Data Communication and Networks II |
Data
communication system components; network protocol stack layers,
network applications and related protocols, Transport, network and
data link layers; line utilization, switching and error handling;
routing and flow control; point-to-point, broadcasting and local
networks theory and current practices; Modern network management
protocols, reliability and security, encryption and compression;
network programming. Term projects are emphasized for network
application design. |
CSIT 436 - Advanced Network Programming** |
Designing
client-server applications with sockets; traffic analysis; building
concurrent and multi-service servers; designing network protocols;
measuring and analyzing performance of protocols. Students will
complete a number of programming and network analysis experiments
during the semester. |
CSIT 437 - Advanced Operating Systems |
Review of
contemporary operating systems, OS design principles and strategies;
examination of communication and synchronization protocols;
concurrent processes and process scheduling including their
statistical analysis; distributed operating systems; client-server
computing model; distributed resource management; multiprocessor OS;
failure recovery and fault tolerance; data security; applications.
|
CSIT 441 - Analysis and Design of Algorithms |
Introduction
to design and analysis of algorithms: time and space complexity,
verification of correctness; advanced algorithm design strategies:
iterative, divide and conquer, greedy method, dynamic programming,
branch and bound, etc.; specific examples drawn from sorting,
searching, string searching, graph problems, matrices, polynomial
arithmetic, cryptography; hard problems and approximation
algorithms: Knapsack, bin packing, and graph coloring problems, etc.
|
CSIT 443 - Theory of Computation |
Regular
expressions and finite automata; context-free grammars and pushdown
automata; pumping arguments; closure properties; decision algorithm;
Turing machines; computability and decidability; halting problem;
and elementary complexity theory. |
CSIT 451 - Introduction to Files and Databases |
Large scale
information organization; basic concepts and terminologies of file
management techniques; storage hierarchies, external storage
devices; mass storage systems; common file structures and
organization methods; physical file organization; list, inverted,
and tree structured file organization methods; file systems;
concepts of data modeling; data languages; search, retrieval and
processing methods; introduction to relational databases and
database management systems. |
CSIT 455 - Relational and Object Databases |
Review of data
modeling and databases; entity/relationship and relational models;
relational algebra; relational databases; database architecture;
data integrity; SQL design; SQL and QBE languages; functional
dependencies; normalization; data protection and SQL concurrency;
data and database security; object-oriented databases; distributed
and client/server systems; other advanced topics. |
CSIT 456 - Information and Decision Support Systems |
Information
and computer information systems; information hierarchy; decisions
and decision-making; functional components of a decision support
system; intelligent/knowledge-based decision-making and knowledge
management; architecture of decision systems; distributive and group
decision-making; executive information systems; expert and fuzzy
systems; reasoning and explanation; knowledge elicitation and
representation; logistics and long-term decision-making. |
CSIT 461 - Introduction to AI and Knowledge Engineering |
Overview of
artificial intelligence tools and techniques; searching methods;
applications of AI: game playing, expert systems and knowledge-based
systems; components of a knowledge-based system; knowledge
acquisition, representation, and formalization; numerical and
symbolic processing; information theoretic and decision theoretic
algorithms; inference engine; machine learning; reasoning and
explanation; basic concepts and major issues of knowledge
engineering; current tools and techniques for analysis, design,
development of the knowledge based systems; applications in
robotics, medical diagnosis, smart decision systems, etc. |
CSIT 462 - Computer Graphics |
Introduction
to Computer Graphics; display memory; generation of points, vectors,
shapes, objects, etc.; raster and geometric graphics; interactive
and passive graphics; graphics peripherals; analog and digital
images and analog/digital conversion; mathematics of 2-D and 3-D
transformations; applications in animation, computer aided design
and instruction; hypertext and multimedia; dialog design;
user-interface. |
CSIT 463 - Introduction to Digital Image Processing and Computer Vision |
Introduction
to digital image and signal processing, computer vision and pattern
recognition; image acquisition, registry and display; elementary
image processing algorithms: sampling, preprocessing, smoothing,
segmentation, and sharpening; transformations; filtering; image
coding and restoration; analog and digital images and image
processing systems; feature extraction and selection; elementary
pattern classification and vision systems; robotics; machine
learning. |
CSIT 471 - Information Systems Management |
A field
assignment to teach in Early Childhood Education. Assignments in a
Kindergarten; arrangements made by the Office of Field Experiences.
Open only to candidates accepted in Early Childhood Education.
Prerequisites: Enrollment and satisfactory progress in professional
education courses; ongoing recommendation of the College of
Education. |
CSIT 473 - Data Warehousing and Mining |
Overview of
data and information sharing; principles of information sharing;
information security; data mining, data warehousing, and data marts;
data modeling; data collection, problems, quality, and integrity;
databases and content management; business intelligence; online
analytical processing; data visualization, multidimensionality, and
real-time analytics; examples of data warehousing and data mining -
geographic information systems, web intelligence, resource
management, multimedia-based databases, knowledge bases, etc. |
CSIT 475 - Electronic Commerce |
Topics include
Internet technology for business advantage, managing e-commerce
funds transfers, business opportunities in e-commerce, Website
development, social, political and ethical issues associated with
e-commerce, and business plans for technology ventures. The purpose
of this course is to educate the students about the technology
required of e-commerce. Lab instruction in Internet application
development complements the course. |
CSIT 490 - Seminar on Selected Topics |
Studies,
discussions, workshops and seminars on selected topics in computer
science. Written reports and a formal presentation are required. |
CSIT 496 - Special Topics |
A
variable-topics course in computer and information sciences. Topics
normally not covered in the CS or CIS degree programs, but suitable
to explore at length at the senior level. Project and a formal
presentation are required. 3.000 Credit Hours 3.000 Lecture hours Levels: Undergraduate Schedule Types: Lecture Natural and Social Sciences College Computer and Info Sciences Department |
CSIT 497 - Thesis |
Faculty-supervised research on a computer and information sciences
topic of interest to the faculty member and the student. Minimum of
80 hours of productive work required. A thesis documenting problem
statement, approach, methodology, and results will be submitted upon
completion. |
Faculty-directed work on a computer and information sciences project
of interest to the faculty member and student. Minimum of 80 clock
hours of productive work required. A report of presentation
discussing approach, methodology, and results will be submitted upon
completion. |
CSIT 536 - Advanced Network Programming |
Designing
client-server application with sockets; traffic analysis; building
concurrent and multi-service servers; designing network protocols;
measuring and analyzing performance of protocols. Students will
complete a number of programming and network analysis experiments
during the semester. Prerequisite: CSIT 435 or the equivalent
background knowledge. |
CSIT 537 - Advanced Operating Systems |
Review of
contemporary operating systems (OS), OS design principles and
strategies; examination of communication and synchronization
protocols; concurrent processes and process scheduling including
their statistical analysis; distributed operating systems;
client-server computing model; distributed resource management;
multiprocessor OS; failure, recovery and fault tolerance; data
security; applications. Prerequisite: CSIT 431 or equivalent
background knowledge. |
CSIT 541 - Algorithms** |
Topics
include: time and space complexity; verification of correctness;
advanced algorithm design strategies (iterative, divide-and-conquer,
greedy methods, dynamic programming, branch-and-bound, etc., with
specific examples drawn from sorting, searching, graph theory,
matrix and polynomial arithmetic, and cryptography); hard problems
and approximation algorithms, with examples such as knapsack,
bin-packing, and graph coloring problems; introduction to parallel
algorithms as time permits. Background assumed: Discrete Mathematics
and Data Structures. |
CSIT 542 - Advanced Data Structures** |
Typical topics
include: Red-Black trees; AVL trees; B trees; B+ trees; B* trees;
tries; splay trees; spatial data structures; self-organizing lists;
summation techniques; recurrence relations, including establishing
bounds and expanding recurrences; hashing and other complex indices;
complexity of searching on various structures. Background assumed:
Data Structures. |
CSIT 580 - Computational Biology |
The course
exposes students to a wide range of state-of-the-art research and
techniques in the field of computational biology. This is a modern
discipline dealing with the discovery and implementation of
algorithms facilitating the understanding of biological processes.
Various statistical, heuristic, and machine learning methods are
used for this purpose, as well as graphical tools to visualize the
objects. The course is intended to present some biological problems
related to the human genome and the computational methods to resolve
them. It will cover an introduction to computational biology, the
use of computational methods to search for, classify, analyze, and
model protein sequences, i.e. to convert the masses of information
from biochemical experiments into useful information. |
CSIT 591 - Selected Topics in Computer Science |
A variable
topics course in computer science. Topics normally not covered in CS
or CIS undergraduate degree programs but suitable to explore at
length at graduate and senior level. Project and a formal
presentation are required. Prerequisite: CSIT 341 or equivalent
background knowledge and permission of instructor. 3.000 Credit Hours 3.000 Lecture hours Levels: Graduate Schedule Types: Lecture Natural and Social Sciences College Computer and Info Sciences Department |
CSIT 613 - VLSI Design** |
This course
focuses on the design of CMOS VLSI (Very Large Scale Integrated)
chips using integrated circuit cells as building blocks and
employing hierarchical design methods. Focus will be on the design
of digital systems. Design issues at layout, schematic, logic and
RTL levels will be studied. Shareware and freely available design
software will be used for laboratory exercises. An overview of VLSI
computer-aided design (CAD) tools and theoretical concepts in VLSI
architectures will also be discussed. Pre-requisite: Completed at
least one course in logic design or computer architecture at the
undergraduate level. |
The course
focuses on modern software project development techniques. Topics
include Universal Modeling Language (Use Case, Sequence, and Class
diagrams), code reusability, design patterns, component development
and versioning software. Students will produce a significant,
multifaceted software product. |
CSIT 636 - Network Security** |
This course
deals with the security aspect of information and data exchange on
shared internetworks. The requirements of secure transfer include
secrecy, integrity, authentication and non-repudiation. The
mechanisms to fulfill these requirements are introduced including
encryption algorithms that provide privacy, message authentication,
and non-repudiation. Practical implementation of security on top of
the three layers of the OSI reference model is highlighted. The
various forms of attacks including intrusions, worms, viruses,
Trojan horses and distributed attacks are discussed along with the
defense mechanisms of firewalls and intrusion detection and
prevention techniques. Background assumed: Data Communication and
Networks II. |
CSIT 639 - Special Topics: Systems Structures** |
The advances
in computer science are rapid. This is designed to cover current
issues in computer systems structures. Current topics in one or more
fields of computer architecture, system software, network, wireless
computing, etc. will be covered in detail. |
CSIT 649 - Selected Topics in Theory of Computation** |
This course is
designed to cover current issues in theory of computations. Current
topics of instructor's choice in the field of computer systems
theory, computations and algoritms, will be selected. Background
assumed: Theory of Computation |
CSIT 665 - Pattern Recognition** |
Statistical
pattern recognition; syntactic pattern recognition; neural networks;
applications. Topics include: Bayesian classifiers; linear
classifiers; nonlinear classifiers; context-dependent
classification; system evaluation; feature selection; clustering.
Background assumed: Probability and Statistics. |
CSIT 669 - Selected Topics in Information Structures and Systems** |
Designed to
cover current issues in information systems and structures. Current
topics in one or more fields of computer architecture, computer
information architecture, artificial intelligence and knowledge
engineering, databases, systems and systems software, software
engineering, data protection, concurrency and security, etc. |
CSIT 670 - Data Compression for Multimedia Applications** |
Introductory
course on data compression, which is an essential concept for
communication and networking, with specific emphasis on multimedia.
Topics include: information theory, source coding, dictionary and
quantization techniques, image and sound compression. |
CSIT 672 - Multimedia Systems** |
Topics may
include: basic multimedia concepts; human perception; hardware
requirements for multimedia applications; creating and processing
images and sound by computer; multimedia and web; compression; main
features of a graphical modeling language (e.g., VRML language);
authoring tools, principles of working with an authoring system;
creating an interactive multimedia application. Background assumed:
Computer Graphics course or approval of instructor. |
![]() |