Close
Please Wait. Loading Menu...

Courses Offered

CS 201 Computer Science I

Prerequisite: Level III placement on the Basic Math Skills inventory or MATH 120 (may be taken concurrently). (Both semesters/4 credits)

An introduction to general programming techniques. Intended for students who have had some previous experience with computer programming. The course emphasizes strategies for good program design. Topics include: algorithmic problem solving, top-down design, object- oriented programming and design, and an introduction to abstract data types. Instruction will be in the high-level programming language Java.

 

CS 202 Computer Science II

Prerequisites: MATH 207 (may be taken concurrently) and CS 284 or permission of the instructor. (Both semesters/4 credits)

An introduction to the structuring and manipulation of information with implementation in the high-level programming language Java. Topics include: linked lists, sets, stacks, queues and trees; basic manipulation techniques including sort/merge and search algorithms; an introduction to algorithm efficiency analysis.

 

CS 226 Computer Organization and Design

Prerequisites: CS 284 and MATH 207 or permission of the instructor. (Both semesters/ 3 credits)

A comprehensive introduction to the general organization, architecture and functional characteristics of computer systems. Topics include machine level representation of data, assembly level machine organization, memory systems organization and architecture, alternative architectures and device interfaces.

 

CS 375 Independent Study

The study of selected topics in computer science, accomplished through readings, problem assignments and projects.

CS 398 Computer Science Tutorial

Prerequisite: Permission of instructor. (Offered as needed/1, 2 or 3 credits) 

An opportunity to work with a faculty member and a small group of students in a semester- long program of directed study.

 

CS 399 Internship in Computing

Prerequisites: 21 credits of computer science courses at the 200 level or above and permission of the department. (Either semester/3 to 15 credits) 

Supervised work in computer-related projects in a governmental, private-industrial or educational setting. In order to enroll in this course, a student must meet College internship requirements. Grading is on a satisfactory/unsatisfactory basis.

 

CS 219 Advanced Data Structures

Prerequisite: CS 202 and MATH 207. (Both semesters/3 credits)

An intensive introduction to object-oriented programming and advanced data structures. Topics will include such data structures as heaps, priority queues, hash tables, advanced tree structures including B+ or B* trees and graphs. The course will emphasize the relative advantages and disadvantages of various design and implementation choices, and the way these choices affect software quality. Integration of component-based methodologies into their software designs will be discussed. Instruction will be in the C++ programming language, including the C++ Standard Library.

CS 319 Algorithm Analysis

Prerequisites: MATH 201, MATH 207 (“C-” or better) and CS 419 or permission of the instructor. (Second semester/3 credits)

An introduction to the analysis and design of algorithms. Topics include: sorting and searching, review of data structures, advanced tree structures, graph algorithms, network- flow problems, amortized analysis, divide-and-conquer, greedy algorithms and dynamic programming. Additional topics may include: combinatorial search algorithms, computational geometry, string algorithms, distributed algorithms, parallel algorithms and NP-Completeness.

 

CS 324 Principles of Software Engineering

Prerequisite: CS 202 or permission of the instructor. (First semester/3 credits)

This course will examine and discuss the life cycle of computer software. The major issues addressed are: analysis of the project, requirements specification, design, coding, testing and reliability and maintenance.

CS 428/528 Artificial Intelligence

Prerequisite: Junior standing and CS 219 or permission of the instructor. (First semester/3 credits)

An introduction to the fundamental principles, techniques and tools of artificial intelligence, including significant past developments, current applications and future directions. In particular, expert systems will be studied as an example of a successful mainstream application of AI. Other topics will be chosen, as time permits, from among the following: state-space searching, knowledge representation, logic and deduction, LISP as a programming language for AI, natural language processing, neural networks, learning, vision, robotics and cognitive science. Topics will be treated at a level of depth and detail appropriate for a first course in AI.

 

CS 329 Introduction to Database Management Systems

Prerequisite: CS 202 or permission of the instructor. (Second semester/3 credits)

A study of the design and implementation of databases from a real world applications point of view. The course includes a review of database concepts such as basic architectural issues, the relational model, query processing, logical database design and normalization theory and data protection issues. The course will also address topics such as assessing end-user needs, developing specifications, designing functionally equivalent solutions and evaluating commercial database packages.

 

CS 443/543 Machine Learning

Prerequisite: CS 428 or permission of the instructor. (Second semester—even years/3 credits)

Introduction to the field of modeling learning with computers. Topics included are explorations of inductive learning, learning decision trees, ensemble learning, computational learning theory and statistical learning methods. 

CS 445/545 Robotics and Intelligent Systems

Prerequisite: CS 428 or permission of the instructor. (Second semester—odd years/3 credits) 

This course examines the fundamental theory and methods behind robot-building and the deployment of intelligent systems. Topics are divided between robot architectures and cognitive robotics (intelligent systems). Robot architecture topics include control paradigms, kinematics, sensors, actuators and navigation. Cognitive robotics topics include: learning, decision-making, coordination and cooperation. This is both a theoretical and hands-on course. Software simulation environments and physical robots will be extensively used during the semester as experimentation platforms to enforce student mastery of the material.

 

CS 450/550 Digital Logic and Switching Theory

Prerequisite: CS 226 or permission of the instructor. (Offered as needed/3 credits)

Introduction to combinational and sequential circuit design. Topics include arithmetic circuits, decoders, flip-flops, counters, registers, memory systems and analog-to-digital conversion. Students will use integrated circuits to construct the circuits designed.

 

CS 453/553 Data Communication and Network Security

 

Prerequisites: CS 202 and 226 or permission of the instructor. (First semester/3 credits)

This course is designed to provide a foundational understanding of networking technology and security. Essential networking concepts include: signaling and signal propagation, data and bit encoding, packetization, wiring, physical and logical topologies, network architectures and protocols (with special focus on TCS/IP and Ethernet) and layered models (OSI); network security will focus on the origin, axis and impacts of network related threats and the detection, correction and prevention of these threats. The focus is to highlight key principles that can be used for understanding, enabling, implementing, operating and reasoning about network applications and network security.

 

 

CS 461/561 Computer Architecture

Prerequisites: CS 226 and CS 219 or permission of the instructor. (First semester—odd years/3 credits)

An in-depth study of architectural concepts and principles including performance-based design tradeoffs. Topics to be covered include: instruction set design, arithmetic algorithms, hardwired and microprogrammed control, memory hierarchy design, input/output, pipelines, RISC, CISC, vector processors, parallel processors and superscalar machines.

 

CS 464/564 Operating Systems

Prerequisites: CS 226 and CS 219 or permission of the instructor. (Second semester/3 credits)

A comprehensive introduction to the fundamental principles of operating systems illustrated by examples from contemporary systems. This course emphasizes the design tradeoffs involved in operating system design. Topics include: process management; concurrency; deadlock; cpu scheduling; memory management; disk management; files systems; security; and distributed, real-time and multiprocessor operating systems.

 

CS 466/566 Parallel Computing

Prerequisite: Junior standing and CS 219 or permission of the instructor. (Course is offered as needed/3 credits)

A comprehensive introduction to both the principles and the practice of parallel computing. Topics to be covered include: programming and architectural models, parallel algorithms and parallelizing compilers.

 

CS 471/571 Programming Languages: Their Design and Compilation

Prerequisites: CS 226 and CS 219. (First semester/3 credits)

A survey of the major programming paradigms and their related languages, including procedural, functional, logic and object-oriented programming. Topics include: binding, exception handling, data sharing, scope, parameter passing, type checking, runtime storage management, lexical analysis, syntactic analysis, parsing, code generation and optimization.

 

CS 475 Senior Project

Prerequisites: CS 324, CS 474 and senior standing, or permission of the instructor. (Both semesters/3 credits)

In this project-oriented course, students majoring in computer science complete a “capstone project,” serving as a culmination of their studies within the major. The project entails the development of a significant piece of software by a student team, supervised by a designated faculty member within the department and evaluated by a faculty committee. Appropriate topics for the project may synthesize or extend ideas/results from several areas of study from coursework, or develop a topic not normally covered in the curriculum. The senior project concludes with the submission of a “product” (i.e., software, documentation), or a written paper (thesis) and a public presentation.

 

CSIT 483/583 World Wide Web Programming

Prerequisite: CS 202 or permission of instructor. (Course is offered as needed/3 credits)

Examination of issues and techniques in programming for World Wide Web applications. Topics include HTML and the HyperText Transfer Protocol, The Common Gateway Interface (CGI); Multipurpose Internet Mail Extensions (MIME); programming language options; CGI scripting (designing, building, testing and installing CGI applications); file and database access; and security issues. Perl will be used as the primary scripting language for the course. Class sessions will emphasize interactive exploration and discussion. Student teams will develop a working application as part of the course work.

 

CS 474 Capstone Proseminar

Prerequisites: CS 329 and senior standing, or permission of the instructor. (Second semester/3 credits)

To succeed in the areas of computing and information technology, technical knowledge of the field is certainly necessary but not sufficient. This course focuses on cultivating proficiency in technical communication, reinforcing the use of appropriate research methods, enhancing the ability to identify computational problems, properly state research questions, critically assess scientific literature, present data and results effectively, work in teams and improve technical writing and time management skills. 

 

IT 180 Elements of Web Development I

Prerequisite: Level II placement on the Basic Math Skills Inventory or MATH 099 or permission of the instructor. (Both semesters/3 credits)

An introduction to languages and programming techniques for the World Wide Web, including the Hypertext Markup Language, Cascading Style Sheets and a client-side scripting language. This course provides an overview of creating web documents with emphasis on separating structure from presentation and on the process of problem solving.

CAIT 221 Applied Computer Graphics

Prerequisite: IT 180 or permission of the instructor. (First semester/3 credits) 

A study of computer-based graphics from an applied point of view. The course will consider concepts and techniques underlying the creation and use of graphics including computer drawing, image editing, bit-mapped and vector graphics; image manipulation; and image compression, with emphasis on preparing images for the web. Students will get hands-on experience in using various kinds of graphics software.

IT 280 Elements of Web Development II

Prerequisite: IT 180 or permission of the instructor. (Second semester/3 credits) 

Topics include web standards and their applications; advanced techniques using XHTML and CSS and selected concepts and techniques from information technology and computer science that serve as a foundation for web development including networks, databases and Internet protocols. Concepts will be explored through interpreted languages such as JavaScript and PHP.

IT 375 Independent Study

Prerequisite: Permission of the instructor. (Both semesters/1, 2, or 3 credits) 

The study of selected topics in information technology, accomplished through readings, problem assignments and projects.

IT 382 Usability Engineering for Web Development

Prerequisite: IT 280 or permission of the instructor. (First semester/3 credits) 

Principles of usability engineering, including analysis, design, prototyping and testing, with emphasis on their application to web development. Topics include: what is usability, heuristic evaluation, usability goal setting, interaction design and styles, assessment methods, web accessibility and adaptive technologies.

ITMG 388 Management Information Systems

Prerequisite: MGMT 301. (Both semesters/3 credits) 

Study of the management decision-making framework, needs assessment, types of management information systems, selection, evaluation and implementation of systems. Social and policy issues are also considered.

IT 480 Practicum in Web Development

Prerequisite: IT 382 or permission of the instructor. (Second semester/3 credits) 

The technologies and issues associated with developing World Wide Web information sites, with an emphasis on accessibility and usability. Topics include authoring techniques; site conception; site structure and navigational design; graphics and multimedia issues; server- side and client-side programming options; portability and maintenance issues; and security. Student teams will develop a working site as part of the course work.

CSIT 483/583 World Wide Web Programming

Prerequisite: CS 287 or permission of instructor. (Course is offered as needed/3 credits) 

Examination of issues and techniques in programming for World Wide Web applications. Topics include HTML and the HyperText Transfer Protocol, The Common Gateway Interface (CGI); Multipurpose Internet Mail Extensions (MIME); programming language options; CGI scripting (designing, building, testing and installing CGI applications); file and database access; and security issues. Perl will be used as the primary scripting language for the course. Class sessions will emphasize interactive exploration and discussion. Student teams will develop a working application as part of the course work.

The department also regularly offers special topics courses in various areas of computer science and information technology. Check the specific course schedule for a given semester to see what special topics courses may be offered that semester.

CS 503 Algorithms and Programming I

Prerequisites: Either A minimum grade of “B-” in MATH 505 or concurrent enrollment in MATH 505, or permission of the instructor. Previous experience with a high-level programming language such as Ada, BASIC, C, C++, Fortran or Pascal is recommended. (Either semester/3 credits) 

Introduction to the basic techniques of program development including input, output, assignment, control structures, simple and aggregate data types and subprograms. All phases of the course will focus on problem-solving strategies, modular design and de-bugging techniques. Students will also learn a specific high-level programming language, which will be used to implement programming concepts and do programming assignments.

CS 504 Algorithms and Programming II

Prerequisites: A minimum grade of “B-” in both CS 503 and MATH 505, or permission of the instructor. (Both semesters/3 credits)  

A study of abstract data types and data structures such as stacks, queues, linked lists, trees, graphs and their implementations. Topics also include algorithms for hashing, sorting, searching and analysis of algorithm efficiency. Students will be required to use a high-level programming language at an advanced level in programming assignments.

CS 508 Computer Organization and Design

Prerequisites: A minimum grade of “B-” in both MATH 505 and CS 503, or permission of the instructor. (Both semesters/3 credits)  

A comprehensive introduction to the general organization, architecture, and functional characteristics of computer systems. Topics include machine level representation of data, assembly level machine organization, memory system organization and architecture, alternative architectures and device interfaces.

CS 519 Advanced Data Structures

Prerequisite: A minimum grade of “B-” in CS 504. (Both semesters/3 credits)

An intensive introduction to object-oriented programming and advanced data structures. Topics will include such data structures as heaps, priority queues, hash tables, advanced tree structures including B+ or B* trees and graphs. The course will emphasize the relative advantages and disadvantages of various design and implementation choices, and the way these choices affect software quality. Integration of component-based methodologies into their software designs will be discussed. Instruction will be in the C++ programming language, including the C++ Standard Library.

CS 520 Algorithm Analysis

Prerequisites: MATH 505, Calculus and CS 519 (Second semester/3 credits)

An introduction to the analysis and design of algorithms. Topics include: sorting and searching, review of data structures, advanced tree structures, graph algorithms network flow problems, amortized analysis, divide-and-conquer, greedy algorithms and dynamic programming. Additional topics may include: combinational search algorithms, computational geometry, string algorithms, distributed algorithms, parallel algorithms and NP-Completeness.

CS 524 Principles of Software Engineering

Prerequisite: A minimum of “B-” in CS 504, or permission of the instructor. (First semester/3 credits)

This course will examine and discuss the life cycle of computer software. The major issues addressed are: analysis of the project, requirements specification, design, coding, testing and reliability and maintenance.

CS 525 Software Testing and Quality Assurance

Prerequisite: A minimum grade of “B-” in CS 524 or permission of the instructor. (Second semester—odd years/ 3 credits) 

This course examines the theory and practice behind software testing and quality assurance. Emphasis is placed on understanding the software testing process, planning, strategy, criteria and testing methods, as well as software quality assurance concepts and control process. Topics will include test models, test design techniques (black box and white-box testing), integration, regression, measurement, unit testing, slicing and debugging, inspection and software metrics. Emerging concepts and their impact on testing will also be examined. This is both a theoretical and hands-on course. Multiple software testing suites will be used during the semester to enforce student mastery of the material.

CS 528/428 Artificial Intelligence

Prerequisite: A minimum grade of “B-” in CS 504, or permission of the instructor. (First semester/ 3 credits) 

An introduction to the fundamental principles, techniques and tools of artificial intelligence, including significant past developments, current applications and future directions. In particular, expert systems will be studied as an example of a successful mainstream application of AI. Other topics will be chosen, as time permits, from among the following: state-space searching, knowledge representation, logic and deduction, LISP as a programming language for AI, natural language processing, neural networks, learning, vision, robotics, and cognitive science. Topics will be treated at a level of depth and detail appropriate for a first course in AI.

CS 530 Introduction to Database Management Systems

Prerequisite: A minimum grade of “B-” in CS 504 or permission of the instructor.  Not open to students who have completed CS 530.  (Second semester/3 credits)

A study of the design and implementation of databases from a real world applications point of view. The course includes a review of database concepts such as basic architectural issues, the relational model, query processing, logical database design and normalization theory and data protection issues. The course will also address topics such as assessing end-user needs, developing specifications, designing functionally equivalent solutions and evaluating commercial database packages.

CSIT 534 Network and Internet Security

Prerequisite: A minimum grade of “B-” in CSIT 555 or permission of the instructor. (3 credits)

This course provides a detailed examination of the pervasive security threats that are related to the Internet, data communications and networking. Network security deals with real-time or near real-time capture of information and the systematic tracking of transmissions. The focus of the course is on network-borne threats, their detection, preventions and analysis (network forensics) and the integration of the tools and techniques employed in this effort. The course includes a major emphasis on network security. It covers additional topics including: authentication; email, IP, and web security; security threats; information, risk and security management techniques and practices; malicious software; and firewalls. Limited practical application of these principles is provided through several software applications. The purpose of the course is to provide the student with a general understanding of the security field and discipline, and some practical knowledge of the application of these practices.

CSIT 537 Applied Encryption and Cryptology

Prerequisites: A minimum grade of “B-” in CSIT 555 or permission of the instructor. ((Second semester—odd years/3 credits) 

Introduction to cryptology, the science of making and breaking secret codes. Topics include encryption, basic cryptanalysis, public and secret key encryption, block ciphers and digital signatures. Classic and modern cryptography and encryption concepts will be introduced as tools and safeguards that need to be applied, implemented and evaluated in real-world scenarios to achieve security and information assurance objectives. This graduate course is for CS, IT and Security Certificate students.

CS 536 Web Services

Prerequisites: A minimum grade of “B-” in CS 519 and knowledge of HTML. (Offered as needed/3 credits) 

An introduction to the creation and use of Web Services. Students will learn how Web Services are used in systems integration and in facilitating B2B communication. Topics include: creating and consuming Web services, a study of the four pillars of Web Services (i.e. XML, SOAP, UDDI and WSDL); security; maintaining application and session state, alternative middleware technologies and business/management considerations whenimplementing Web Services.

CS 542 Perception in Artificial Intelligence

Prerequisites: A minimum grade of “B-” in CS 504 and CS 528. (First semester—even years/3 credits) 

This course deals with the simulation of human perception. Specific topics investigated include methods for pattern recognition and employing neural networks in perceptual tasks.

CS 543/443 Machine Learning

Prerequisite: A minimum grade of “B-” in CS 528. (Second semester—even years/3 credits) 

Introduction into the field of modeling learning with computers. Topics included are explorations of inductive learning, learning decision trees, ensemble learning, computational learning theory and statistical learning methods.

CS 544 Knowledge Representation and Reasoning

Prerequisites: A minimum grade of “B-” in CS 504 and CS 528. (First semester—odd years/3 credits)  

This course provides a comprehensive examination of current approaches to knowledge representation. Topics covered will include first order logic, ontological engineering, reasoning systems and dealing with uncertainty.

CS 545/445 Robotics and Intelligent Systems

Prerequisite: A minimum grade of “B-” in CS 528, or permission of the instructor (Second semester—odd years/3 credits)  

This course examines the fundamental theory and methods behind robot-building and the deployment of intelligent systems. Topics are divided between robot architectures and cognitive robotics (intelligent systems). Robot architecture topics include control paradigms, kinematics, sensors, actuators and navigation. Cognitive robotics topics include: learning, decision-making, coordination and cooperation. This is both a theoretical and hands-on course. Software simulation environments and physical robots will be extensively used during the semester as experimentation platforms to enforce student mastery of the material.

CS 550/450 Digital Logic and Switching Theory

Prerequisite: A minimum grade of “B-” in MATH 505, or permission of the instructor. (Offered as needed/3 credits)  

Introduction to combinational and sequential circuit design. Topics include arithmetic circuits, decoders, flip-flops, counters, registers, memory systems and analog-to-digital conversion. Students will use integrated circuits to construct the circuits designed.

CS 553/453 Data Communications and Network Security

Prerequisites: A minimum grade of “B-” in both CS 504 and CS 508, or permission of the instructor. (First semester/3 credits)  

This course is designed to provide a foundational understanding of networking technology and security. Essential networking concepts include: signaling and signal propagation, data and bit encoding, packetization, wiring, physical and logical topologies, network architectures and protocols (with special focus on TCS/IP and Ethernet), and layered models (OSI), network security will focus on the origin, axis and impacts of network related threats and the detection, correction and prevention of these threats. The focus is to highlight key principles that can be used for understanding, enabling, implementing, operating, and reasoning about network applications and network security.

CSIT 555 Information Systems Security

 

Prerequisites: Either CS 530 or IT 530 and either IT 548 or CS 553, or permission of the instructor. (Second semester/3 credits) 

This course considers technical, operational and managerial issues of computer systems security in an operational environment. The course will address the threats to computer security including schemes for breaking security, and techniques for detecting and preventing security violations. Emphasis will be on instituting safeguards, examining the different types of security systems and applying the appropriate level of security for perceived risks.

 

CS 557 UNIX System Programming

Prerequisite: A minimum grade of “B-” in CS 519, or permission of the instructor. (Offered as needed/3 credits) 

This course will focus on the UNIX operating system and system level programming in the UNIX environment. Course includes an in-depth study of UNIX file handling, process structure, process control, process scheduling, memory management and inter-process communication. Other topics include shell programming, the system call interface to the UNIX kernel, use of system calls in the C language and an introduction to X Windows programming.

CS 561/461 Computer Architecture

Prerequisites: A minimum grade of “B-” in both CS 508 and CS 519, or permission of the instructor. (First semester—odd years/3 credits)  

An in-depth study of architectural concepts and principles including performance-based design tradeoffs. Topics to be covered include: instruction set design, arithmetic algorithms, hardwired and microprogrammed control, memory hierarchy design, input/output, pipelines, RISC, CISC, vector processors, parallel processors and superscalar machines.

CS 564/464 Operating Systems

Prerequisites: A minimum grade of “B-” in both CS 508 and CS 519, or permission of the instructor. (Second semester/3 credits)  

A comprehensive introduction to the fundamental principles of operating systems illustrated by examples from contemporary systems. This course emphasizes the design tradeoffs involved in operating system design. Topics include: process management; concurrency; deadlock; cpu scheduling; memory management; disk management; files systems; security; and distribureal-time and multiprocessor operating systems.

CS 565 Database System Concepts

Prerequisites: CS 519, CS 530 and CS 564, or permission of the instructor. (Offered as needed/3 credits) 

This course covers a range of database system concepts such as transaction processing, serializability, locking and timestamping protocols, logging techniques, implementation of backup and recovery, indexing, query processing and optimization, and various additional implementation techniques. These concepts are illustrated by examining the implemand application of object-oriented, parallel and distributed database systems.

CS 566/466 Parallel Computing

Prerequisite: A minimum grade of “B-” in CS 519 or permission of the instructor. (Offered as needed/ 3 credits)  

A comprehensive introduction to both the principles and the practice of parallel computing. Topics to be covered include: programming and architectural models, paralleparallelizing compilers.

CS 567 Distributed Computing

Prerequisite: A minimum grade of “B-” in CS 564. (Offered as needed/3 credits) 

An introduction to distributed systems and distributed operating systems. Topics will include interprocess communication, safety, liveness, remote procedure call, file and name services, distributed notions of time, shared data and concurrency control and distributed shared memory.

CS 571/471 Programming Languages: Their Design and Compilation

Prerequisites: A minimum grade of “B-” in both CS 508 and CS 519, or permission of the instructor. (First semester/3 credits)  

A survey of the major programming paradigms and their related languages, including procedural, functional, logic and object-oriented programming. Topics include: binding, exception handling, data sharing, scope, parameter passing, type checking, runtime storage management, lexical analysis, syntactic analysis, parsing, code generation and optimization.

CS 595 Software Engineering Project

Prerequisites: CS 524 and 18 credits of CS coursework beyond foundation level, and permission of department. (6 credits)  

Design, creation and documentation of an applications program. Required of all degree candidates who have requested and been accepted for the software engineering project option.

IT 530 Applied Database Systems

<p><em>Prerequisite: A minimum grade of B- in IT 510, IT 512 and IT 514 or permission of the instructor. (Both semesters/3 credits)</em>&#160;</p>

<p>This course provides an overview of data management concepts. The course will explore the enterprise perspective of managing data needs of an organization. Topics include data integrity, database models, and integration of databases, security, and database administration issues. The student will be introduced to query processing within a database environment.</p>

IT 510 Computing Hardware and Software Systems

(First semester/3 credits) 

This course presents an overview of the terms and concepts of computing hardware and software systems that are fundamental to contemporary information technology. It introduces computers, operating systems and networks, and how they handle information flow, processing and storage in typical organizations. Topics include: 1) computer architecture, including data representation, the CPU and memory, input/output, computer peripherals and physical networks; 2) operating systems, including internal and external (user) perspectives, file management; and 3) applications execution, including basic networking software. Students apply the course topics to a series of small, hands-on computing related projects.

IT 512 Elements of Computer Programming

(Second semester/3 credits) 

This course provides students with an introduction to programming concepts and techniques used in problem solving. Students will study general programming concepts, as well as a modern programming language which illustrates those concepts. Students will design, implement and test programs to solve problems primarily in IT, business and science. Students will develop the ability to logically plan and develop programs, and learn to write, test, and debug programs. Topics include I/O, expressions, types, variables, branching, loops, web programming, program planning and simple multimedia programming. Students will apply their knowledge through hands-on programming projects.

IT 514 Contemporary Issues in Information Technology

Prerequisites: A minimum grade of “B-” in IT 510 and IT 512 or concurrent enrollment orpermission of the instructor. (Either semester/3 credits) 

This course addresses the current issues that surround the use of information technology (IT) and the development of IT-based solutions. Using an overview of the IT components utilized in the areas of computer hardware and software, information processing and telecommunications as a foundation, this course explores the current issues and trends which challenge IT professionals. The primary purpose of this course is to teach students how to approach, investigate, consider, analyze, use and apply information technology in order to address specific information-based needs. The course is intended to serve as a foundation formore advanced work in the Information Technology concentration.

IT 515 Object Oriented Methods

Prerequisite: A minimum grade of “B-” in IT 514. (Second semester/3 credits) 

This course provides a detailed exploration of several object-oriented methods including object-oriented analysis and design, object-oriented programming languages, distributed and client-server computing and object-oriented databases. The course will draw distinctions between traditional data analysis and structured programming techniques and object-oriented approaches. Students will be required to demonstrate these techniques through various case studies, mini-projects and exercises.

IT 518 Systems Engineering and Integration

Prerequisite: IT 514 or permission of the instructor. (First semester/3 credits) 

A comprehensive review of the procedures, tools and standards that comprise the field of systems engineering and integration. This course provides a detailed examination of the systematic application of proven procedures, tools and standards to information-oriented problems for the purpose of defining, designing, managing and implementing effective information technology solutions.

IT 521 Information Assurance and Risk Assessment

Prerequisite: CSIT 555 or permission of the instructor. (First semester-—odd years/3 credits) 

This course examines the fundamental concepts of information assurance and security risk assessment. The overarching theme is protecting the confidentiality, integrity and availability of data and their delivery systems. Topics include security assessment definitions and nomenclature, different approaches for risk assessment, high assurance system design and techniques for quantitative and qualitative risk analysis. Throughout the course numerous related security issues are examined such as threats, vulnerabilities, attack trends, tools, safeguards, disaster recover along with legal issues and policy.

ITMG 527 Management Issues in Information Systems

Prerequisite: IT 514 for CS/IT majors or MGMT 566 for MBA majors, or permission of the instructor. (First semester/3 credits) 

An examination and critical assessment of real-life management issues surrounding information systems in application environments. These issues involve the management of information, project management and information resources and systems within the organization.

CSIT 532 Computer Forensics

Prerequisite: A minimum grade of “B-” in IT 518 or CS 524 or permission of the instructor. (First semester/3 credits) 

Computer forensics is the analysis of computing and networking equipment to determine if the equipment has been used for illegal, unauthorized or unusual activities. It also includes monitoring a network for the same purpose. The theory, skills and tools needed in intrusion detection and computer forensics are the major themes in this course. The course discusses techniques for identifying threats, attacks and the axis of these attacks, including the various types of malicious code. It also presents the conceptual and operational tools and techniques necessary for analysis and resolution of problems with respect to attack tracing, system recovery, continuity of operation, evidence collection, evidence analysis and prosecution. Additional content includes technique, for mitigating security risks, effective use of filters and firewalls, and for recognizing attack patterns.

IT 535 Security Policy, Ethics and Law

Prerequisite: Admission to the Gradute School. (Summer/3 credits) 

This course examines the issues related to security from a managerial, legal and ethical standpoint. It includes the legal obligations and limitations currently related to security practices. It also examines the linkage of security policy and practices with managerial operations and decision making and provides an understanding of how to effectively implement security policies. Beyond policy and the law, the course also examines many of the ethical questions that are related to modern information security. It also includes such topics as: security law, security policy making & implementation, policy practices & Acceptable Use Policies, and Litigation Avoidance.

CSIT 540 Human-Computer Interaction

Prerequisite: A minimum grade of “B-” in CS 504 (MS in CS students) or A minimum grade of “B-” in IT 514 (MS in CIS students), or permission of the instructor. (Second semester—even years/3 credits) 

Topics covered will be chosen from the relationships between people and computers and the role of human factors and psychology in those relationships; usability; interaction and interface design issues; command languages, menus, error messages, and response time; physical interaction, I/O devices and interaction style and techniques; the design process and user models; interface evaluation, rapid prototyping and interactive refinement; natural language; integration of user interfaces with software engineering.

IT 548 Telecommunications and Networking

Prerequisite: A minimum grade of “B-” in IT 514 or permission of the instructor. (First semester/3 credits) 

This course is designed to provide computer professionals with a working knowledge of data communications, computer networks and open systems. The course includes an in- depth review of basic terminology and concepts in data communications, telecommunication protocols, transmission techniques and computer network architecture alternatives. Additional topics include internetworking, circuit and packet switching and telecommunication solutions such as xDSL, ATM and Frame Relay.

IT 581 Practicum in Web Development

Prerequisite: A minimum of “B-” in IT 514, or permission of the instructor. (Offered as needed/ 3 credits) 

The technologies and issues associated with developing World Wide Web information sites, with an emphasis on accessibility and usability. Topics include authoring techniques, site conception, site structure and navigational design, graphics and multimedia issues, server-side and client-side programming options, portability and maintenance issues, security. Student teams will develop a working site as part of the course work.

CSIT 583/483 World Wide Web Programming

Prerequisites: IT 581 and CS 504, or permission of instructor. (Offered as needed/3 credits) 

Examination of issues and techniques in programming for World Wide Web applications. Topics include HTML and the HyperText Transfer Protocol, The Common Gateway Interface (CGI); Multipurpose Internet Mail Extensions (MIME); programming language options; CGI scripting (designing, building, testing and installing CGI applications); file and database access; and security issues. Perl will be used as the primary scripting language for the course. Class sessions will emphasize interactive exploration and discussion. Student teams will develop a working application as part of the course work.

The department also regularly offers special topics courses in various areas of computer science and information technology. Such offerings will be listed in the class schedule for a given semester.

ITMG 533 Managing Technical Project Teams

Prerequisite: ITMG 527. (Second semester/3 credits) 

This course investigates the process of managing a computer-related project. It includes scheduling techniques and automated tools such as scheduling packages. Focus will be on the team environment conducive to successful project completion.