400

CSIT 400 Directed Independent Study

Independent study of a selected list of readings approved by a faculty advisor. Permission of the department required.

1-3

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.

3

Prerequisites

CSIT 221

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.

3

Prerequisites

CSIT 311 or CSIT 312

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 software systems; structured walkthrough and software testing; verification and validation; technical, managerial, administrative, and operating issues; privacy, security, and legal issues; developing a team project using software engineering principles.

3

Prerequisites

CSIT 221 or CSIT 205

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.

3

Prerequisites

(CSIT 311 or CSIT 312) and CSIT 341 and CSIT 231

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.

3

Prerequisites

(CSIT 311 or CSIT 312) and CSIT 341

CSIT 435 Data Communication and Networks II

Network protocol stack layers, network bandwidth and traffic management, data transmission fundamentals; data encoding and multiplexing, switching and error handling; ATM, Diffserv, RSVP, MPLS and related modern protocols; network applications; carrier transport networks, reliability and security, encryption and compression; wireless networks; advanced network programming. Term projects are emphasized for network performance analysis and QoS application design.

3

Prerequisites

CSIT 311 or CSIT 312 or CSIT 335

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.

3

Prerequisites

CSIT 435

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.

3

Prerequisites

CSIT 431

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.

3

Prerequisites

CSIT 242 and CSIT 341

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.

3

Prerequisites

CSIT 242 and CSIT 341

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.

3

Prerequisites

CSIT 341

CSIT 455 Relational and Object Databases

Review of data modeling and databases (DB); 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; introduction to DB administration.

3

Prerequisites

CSIT 221 or CSIT 205

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.

3

Prerequisites

CSIT 341 and CSIT 351

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.

3

Prerequisites

(CSIT 205 or CSIT 221) and CSIT 241

CSIT 462 Computer Graphics

Introduction to computer graphics; graphics hardware, systems and APIs; raster and vector graphics; basic 2D primitives; points, lines, arcs, polygons and poly-lines; basic 3D shapes; raster algorithms for drawing 2-D primitives; 2D and 3-D geometrical transformations; projections; rendering, lighting, and animation; representation of curves and surfaces; solids modeling; applications of the above concepts.

3

Prerequisites

CSIT 221 or CSIT 205

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.

3

Prerequisites

CSIT 205 or CSIT 221

CSIT 471 Information Systems Management

Overview of information systems (IS) for business organizations; IS systems management; strategic uses of IT, and I-commerce; IS planning, using and managing essential technologies: databases, distributed systems, telecommunications, information resources; managing IS operations; managing systems development; systems for supporting knowledge-based work; practices and challenges for business competitiveness; information systems theory and quality decision theory; electronic and mobile commerce; social and ethical issues; IS and IT implementation.

3

Prerequisites

CSIT 205 or CSIT 221

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.

3

Prerequisites

CSIT 205 or CSIT 221

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 the course is to educate the students about the technology required of e-commerce. Lab instruction in Internet application development complements the course.

3

Prerequisites

(CSIT 205 or CSIT 221) and CSIT 207

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.

1-3

CSIT 496 Special Topics

A variable-topics course in computer and information sciences. Topics normally not covered in the Computer Science or Computer Information Systems degree programs, but suitable to explore at length at the senior level. Project and a formal presentation are required.

1-3

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.

3

Prerequisites

CSIT 341 or CSIT 351

CSIT 499 Senior Project

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.

3

Prerequisites

CSIT 341 or CSIT 351