Table of Contents -
Overview
Appendix A -
Catalog & Course Descriptions
Appendix B -
Knowledge Areas of the IT Field
Appendix C -
Biosketches
Download Appendix A - Catalog & Course Descriptions
(Adobe Acrobat required)


APPENDIX A
Catalog and Course Descriptions

  

This appendix contains the catalog descriptions of the IT core, the seven IT degree programs, and the Educational Technology (ET) certificate.



CATALOG INFORMATION
IT CORE PROGRAM

 

Overview

Information Technology (IT) is a broad field that includes computer science (CS), software engineering (SWE), computer system engineering (CE), network engineering (NE), information security (SEC), e-commerce (EC), information systems (IS), and educational technology (ET).

The IT core program consist of 13 three-credit courses and 1 one-credit course in the sophomore year. It is intended to bring the students to the level of beginner in IT by the time they complete the last course in the core, the IT core exhibition. The core program is rigorous and provides a balance among technology, science, business, humanities, and professional responsibility. The common IT core will help the College foster a sense of shared community among all its majors. It will serve as a common "signature" for them all.

In addition to the IT core, there are several other requirements for all IT majors:


The Beginner Level of Competence

The objective of the IT core is to bring all IT majors to the beginner level of competence in the field. A beginner in IT is aware of the structure of the field and the nature of the work in the various specialties; is able to develop algorithms and data structures to solve well-defined problems; is able to program and test those algorithms. A beginner is not expected to see the connections and interrelations among all the components that make up typical computer systems, but is expected to understand the purpose of each component. The IT core exhibition (IT 290) will afford faculty the opportunity to tell whether each student has attained this level by the end of the sophomore year. 


Course Layout

This is a suggested layout that achieves balanced course load among semesters and accommodates prerequisites. The courses in Junior and Senior year are not required as part of the sophomore core, but are present in all the degree programs. The designators XX refer to the specific junior and senior exhibitions defined in each major (XX).

AREA
FROSH
SOPHOMORE
J & S
SENIOR
Math   IT200
Calculus concepts
IT201
Probability and statistics
IT202
Discrete math
   
Systems   IT210
Digital hardware and communication
IT211
Computing Systems
IT212
Information Systems (Web, database, security)
   
Programming IT120
Prog I
IT220
Prog II
    IT320
ProgIII
 
Business    

IT240
Business
basics

IT241
Enterprise
basics

   
Science     IT251
Biology Concepts

IT250
Physics
Concepts

   
Communication         IT340
Speaking and writing
 
Professional Responsibility   IT260
Professional responsibility workshop
    IT360
Professional responsibility workshops
IT460
Professional responsibility workshop
Exhibition       IT290
Exhibition
XX390
Exhibition
XX490
Exhibition

 

Courses

Programming Sequence

IT 120. Programming I (3:3:0). Introduction to problem-solving methods and program development. Machine instruction sets. Compiling and assembling. Programming language control structures. Data, data types, and abstract data types. Simple data and file structures. Common algorithms. Time and space requirements. Program design strategies. Algorithmic complexity. Program correctness by transformation of predicates and loop invariants. Use of a high-level programming language that supports modular design. Prequisite: computer literacy.

IT 220. Programming II (3:3:0). User-defined abstract data types. Common data structures (sets, files, strings, lists, stacks, queues, trees, graphs) and their applications. Overview of the methods and models used by industry in software development. Software design issues, including modularity, reusability, version tracking, and object-oriented design. Complete lifecycle issues, planning for projects, management strategies and technical tactics. Role of programming in the processes of software development. Prerequisite: IT 120.

IT 320. Programming III (3:3:0). Tools and methods for developing moderate to large programs and testing them. Object-oriented design, specification, and implementation. Data structures. Recursion. Problem-solving skills. Several programming projects. Prerequisite: IT 220.


Professional Responsibility Workshops

IT 260. Professional Responsibility Workshop I (1:1:0). Introduction to the legal, social, and ethical issues of information technology and use. Information rights, property rights, liability, accountability, privacy, security, crime, ethical principles, codes of ethics, "digital divide", role of PTT, role of government, role of law enforcement, role of business and industry. Professional conduct, social responsibility, and rigorous standards for software testing and reliability. Students read, write, discuss, and present reports on these topics.

IT 360. Professional Responsibility Workshop II (1:1:0). Continuation after IT 260. Prerequisite: IT 260.

IT 460. Professional Responsibility Workshop III (1:1:0). Continuation after IT 360. Prerequisite: IT 360. 


Sophomore Core Courses

IT 200. Calculus Concepts (3:3:0). Functions, limits, the derivative, maximum and minimum problems, the integral, and transcendental functions. Introduction to linear algebra. Simple differential equations. Prerequisites: Thorough understanding of high school algebra and trigonometry. Prerequisite: freshman math.

IT 201. Probability and Statistics (3:3:0). Events and sample space. Probability. Conditional probability. Random variables. Cumulative distribution function and probability density function. Moments of random variables. Common distribution functions. Elementary introduction to statistics with emphasis on applications and model formulation. Descriptive statistics, sampling and sampling distributions, inference, correlation and regression, and survey sampling methods. Prerequisite: freshman math.

IT 202. Discrete Mathematics (3:3:0). Introduction to the ideas of discrete mathematics, combinatorial problems, and proof techniques including mathematical induction, sets, graphs, trees, recursion, and enumeration. Prerequisite: freshman math.

IT 210. Digital Hardware and Communications (3:3:0). Introduction to digital systems, circuits, and computers. Binary systems and codes. Digital logic gates, circuits, and Boolean algebra. Microelectronics and integrated circuits. Coding and multiplexing. Flip-flops, registers, counters, A/D converters, arithmetic, and arithmetic units. Microprogramming and instruction sets. Input/Output. Data communications fundamentals and computer networking methods, with focus on the principal protocols of the Internet. Five-layer stack comprised of physical, data link control, network, and transport layers, for local and wide area networks. Communication principles of analog and digital transmission, reliable link layers, and local area networks. Basic operation of connection-oriented and connectionless network layer models, and associated routing protocols. Principles of reliable transport protocols. Basic organization of client-server distributed applications, including the World Wide Web. Lab projects. Prerequisite: IT 120.

IT 211. Computing Systems (3:3:0). Computer system hardware and organization. Functions of compilers, assemblers, and linkers. Functions of an operating system (interrupts, processes, semaphores, memory management, file management, directory management, shell) and hardware support needed to implement them. Examples of major commercial systems. Projects. Prerequisite: IT 210.

IT 212. Information Systems (3:3:0). Functions of a database system (tables, relations, relational operations, queries, views) and the OS support needed to implement them. Functions of information retrieval systems. Accessing organizational data and external data. Security and access control. Secure intranets. User interface. Macro programming. Running web and other information services from a database. E-commerce basics. Web clients, servers, and search engines. Examples of major commercial systems. Projects. Prerequisite: IT 220.

IT 240. Business Basics (3:3:0). Functions of a business: making and fulfilling offers to customers. Marketing. Accounting. Planning. IT systems that support business. Measuring the yield of IT, adoption of new technologies, knowledge management.

IT 241. Enterprise Basics (3:3:0). Basic economic theory; supply-and-demand. Management and organizational strategies for large businesses. The role and skills of entrepreneurs. Venture capital. Stock markets. Workflow. Analyzing risk. Enterprise Resource Planning. Organizational forms and types. Telecommunications and mobile computing. Outsourcing vs. insourcing. Role of the CIO and CKO. Leveraging E-commerce. "Disruptive" technologies. Quality issues in IT. Prerequisite: IT 240.

IT 250. Biology Concepts (3:3:0). Chemistry of life, cell structure and function, heredity, evolution, diversity of life and animal systems. Heredity. Introduction to genomics -- DNA as a code of life. Evolution of life. Molecular phylogeny. Biological methods for computation. (Could be taught by Biology Dept after agreement on content.)

IT 251. Physics Concepts (3:3:0). Mechanics, relativity, cosmology, atomic physics, electricity and magnetism, nuclear physics, elementary particles, quantum mechanics. Emphasis on the fundamental principles and their philosophical, social, and historical development. Physical methods for computation. (Could be taught by Physics Dept after agreement on content.)

IT 290. IT Core Exhibition (3:1:0). Students demonstrate through actual performance that they can solve problems in the various areas covered by the IT core. Some problems will be solved by teams rather than individuals. Students will be judged in individual and team performance. Prerequisites: IT 200, 201, 210, 211, 220, 240, 250. Corequisites: IT 202,212,241, 251. 


Junior and Senior Courses Shared Among Three or More IT Majors

IT 300. Computer Architecture (3:3:0). Symbolic assembly language and corresponding computer structures. Arithmetic and logical operations; representations of numbers, characters, instructions; input-output and data conversions; addressing methods; assembler directives; subroutine linkage; macroprocessing. Hardware structures, software structures, translations, major components and hardware subsystems, quantitative methods of design, support of OS functions. Project to simulate one computer system on another. Prerequisite: IT 220.

IT 310. Network Protocols and Software (3:3:0). Local and wide-area network architectures. Network protocols and software stack. Middleware and applications protocols and software. Prerequisite: IT 210.

IT 330. Cryptographic Algorithms and Protocols (3:3:0). Symmetric encryption. Public-key encryption. Digital signatures. Certificate generation and verification. Performance of the various encryption techniques. Prerequisites: IT 202 and IT 212.

IT 340. Speaking and Writing (3:3:0). Oral and written communication. Coaching and practice in organizing presentations, proposals, manuals, documentation, briefings, executive summaries, business communications. Standard formats. Exercises in writing and speaking in different styles for different audiences and moods.

IT 440. Project Management and Practice (3:3:0). Successful management of system development or enhancement projects for enterprise-level systems. Managing the system life cycle: requirements determination, logical design, phyusical design, testing, implementation. System and database integration. Network and client-server management. Metrics for project management and system performance evaluation. Managing expectations of superiors, users, team members, and others related to the project. Determining skill requirements and staffing the project. Analysis of cost-effectiveness. Reporting and presentation. Managing both the behavioral and technical aspects of the project. Change management. Prerequisite: IT 320.

IT 498. Independent Study (1-3:0:0). Research and analysis of selected problems and topics in the major. Arranged with an instructor. May be repeated once with a substantially different topic.

IT 499. Special Topics (3:3:0). Topics of special interest to undergraduates. May be repeated once with a substantially different topic.



CATALOG INFORMATION
COMPUTER SCIENCE DEGREE PROGRAM

 

Overview

Computer science is the discipline concerned with the design, implementation, and maintenance of the computer systems used in almost all other professions. Computer scientists must be well grounded in the technologies needed for the acquisition, representation, storage, transmission, transformation, and use of information in digital form and must be capable of working closely with members of other professions associated with computing. Computer scientists must achieve considerable technical competence in algorithms, data structures, software, and networked systems and must have a high level of technical skill in designing, programming, and testing large software systems.  


Levels of Competence

The computer science major program is organized as two stages corresponding to the junior and senior years. The objective of each stage is to bring each student to a level of professional competence associated with that stage. The levels of competence are:

Advanced Beginner (junior year) -- familiar with the terminology and concepts of computer science; sees many of the connections among components of computer systems; able to design algorithms of moderate complexity (several dozen modules), program them, and test them; can carry out tasks for a customer but needs supervision to avoid common pitfalls and breakdowns. Able to communicate orally and in writing. This stage consists of the first year of the CS major and its exhibition (33 credit hours).

Entry-level Professional (senior year) -- thoroughly familiar with computer science; understands systems and can diagnose system problems; able to design systems of moderately large complexity (hundreds of modules), program them, test them, document them, and present them. Can carry out standard professional tasks for customers in application domains without supervision. Understands professional ethics and acts accordingly. This stage consists of the second year of the CS major and its exhibition (33 credit hours). The exhibition is focused on a senior design project with a customer.


Breadth and Depth

The curriculum is laid out to help students develop breadth in their understanding of the discipline and its interactions with other disciplines. Each student should, in consultation with their advisor, select electives and projects that enable them to develop depth in at least one specialization area. A guideline is that three electives in related subjects are needed to achieve depth.


Electives

Any course CS3xx, CS4xx, IT3xx, or IT4xx listed below in the catalog, and which is not required, may be used as an elective. Juniors may select non-required CS4x0 or IT4x0 courses only for their electives.


Plan of Study

On entering the CS major (junior year), each student will, in cooperation with an advisor, work out a plan of study. The plan will state the student's professional objectives and the area(s) of specialization. The plan can be modified at any time as needs and circumstances change. 


Course Layout

This is a suggested layout that achieves balanced course load among semesters and accommodates prerequisites.

AREA
JUNIOR
SENIOR
Math

CS 300
Random processes

 

CS 400
Math modeling

 
CS

IT 320
Prog III

CS 302
Software engineering

CS 430
Database systems

CS 440
Great principles of IT

IT 300
Computer architecture

IT 310
Network protocols & software

CS 470
Operating systems

CS
elective

CS
elective

CS
elective

CS
elective

CS
elective

Business  

IS 300
IS Fundamentals

IT 440
Project mgt

 
Science

SCI
elective

   

SCI
elective

Humanities   IT 340
Speaking and writing
  HUM
elective

Professional Responsibility

IT 360
Prof'l Resp. Workshop

 

IT 460
Prof'l Resp. Workshop

 
Exhibition  

CS 390
Exhibition

 

CS 490
Exhibition

 

Courses

The following courses numbered 3xx are intended only for juniors. All others are either required for seniors or are electives. Juniors may take senior courses ending in 0 (CS4x0) as electives.

CS 300. Random Processes (3:3:0). Introduction to stochastic processes as models of time-dependent random phenomena. Markov chains. Steady-state. Operational analysis. Transforms. Numerical methods. Decomposable systems. Prerequisite: IT 202.

CS 302. Software Engineering (3:3:0). Methods in software system design, development, and maintenance. Formal models of structured programming and program correctness. Software engineering methods and tools. Functional and object-oriented design. Document. Version tracking in large projects. Testing. Working in teams, students organize, manage, and develop a software engineering project. Prerequisite: IT 320.

CS 400. Mathematical Modeling (3:3:0). Study of important mathematical models from science and engineering. Principal solution methods using grid computations. Numerical error analysis. Mathematical software. Execution on parallel machines with parallel algorithms. Prerequisite: IT 202.

CS 410. Computational Science (3:3:0). Major models used in other science and engineering disciplines for the study of scientific phenomena; operation, analysis, validation, accuracy. Visualization of results. Use of supercomputers. Emphasis is on computation serves the objectives of other, IT-enabled disciplines. Prerequisite: IT 320.

CS 420. Language Processors and Programming Environments (3:3:0). Assemblers, interpreters, compilers, CASE tools. Formal syntax definitions, parsing methods, code generation, code optimization, target virtual machines. Project. Prerequisite: IT 320.

CS 430. Database Systems (3:3:0). Data models and sublanguages for relational, hierarchical, and network approaches to database management systems. Normal forms. External models, views, implementation, data independence, serializability, concurrency control, integrity control. Project. Prerequisite: IT 320.

CS 440. Great Principles of Information Technology (3:3:0). Study of the great principles of information technology that make all computer systems work. Integrates conceptual structure and history of how and why the ideas became great. Includes: Internet, virtual machines, user interface, data security, algorithms, transactions, naming, virtual memory, concurrent processes. Corequisite: CS 490.

CS 450. Analysis of Algorithms (3:3:0). Mathematics of algorithm measurement and complexity. Analysis and improvement of important, widely-used algorithms. Prerequisite: IT 320.

CS 451. Formal Methods and Models (3:3:0). Models of language, machines, correspondences, logics, computability, incomputability, Turing-Church thesis, universal computation, complexity. Prerequisite: CS 450.

CS 460. Graphics and Human Computer Interaction. Graphics devices, line generation, 2D graphics, graphics packages, raster graphics, user interface models, erognomics. Project that includes designing a system with a graphical user interface.

CS 470. Operating Systems (3:3:0). Organization of centralized operating systems: interrupts, basic I/O system, basic storage management, paging, virtual memory, threads, semaphores, interprocess communication, devices, files, directories, pipes, virtual machines, and shells. Project to build a virtual machine simulator. Prerequisites: IT 300, 320.

CS 471. Distributed Operating Systems (3:3:0). Organization of distributed computing systems. Design of distributed software, concurrent programming, synchronization, multithreading, local and wide-area network protocols, sockets, IPC mechanisms, remote procedure call, distributed computation, systems integration, coarse-grained application-level parallelism. Lamport clocks. Distributed mutual exclusion. Atomic transactions. Distributed file systems, replication, consistency. Distributed shared memory. Project. Prerequisite: CS 470.

CS 472. Computer System Performance Evaluation (3:3:0). Use EC .421.

CS 473: Advanced Computer Architecture (3:3:0). Quantitative design of computing machines. Instruction pipelines and compilers. Buses. Caches. Memory hierarchies and virtual memory. Context switching. Input and Output. Multiprocessors. Parallel machines. VLSI design and implementation. Prerequisite: IT300.

CS 480. Artificial Intelligence (3:3:0). Principles and methods for knowledge representation, reasoning, learning, problem solving, planning, heuristic search, natural language processing, speech recognition. LISP, PROLOG, or expert system programming languages. Prerequisite: IT 320.

CS 481. Evolutionary Computation (3:3:0). Computational methods for growing solutions to combinatorial optimization problems by cross-breeding successful members of populations of candidate results. Application to genetic algorithms. Application to automatic programming. Prerequisite: IT 320.

CS 482. Computer Vision (3:3:0). Computational models of visual perception and implementation on computer systems. Neural networks. Early visual processing. Edge perception. Segmentation. Intrinsic images. Image modeling. Representation of visual knowledge. Image understanding. Prerequisites: IT 320, CS 450.


Exhibitions

CS 390. Junior Computer Science Exhibition (3:1:0). Students demonstrate through actual performance that they have attained the advanced beginner level in computer science. Teams will complete a system design that integrates knowledge from the junior year. Prerequisites: IT 300, 320.

CS 490. Senior Computer Science Exhibition (3:1:0). Students demonstrate through actual performance that they have attained the entry-level professional level in computer science. Teams will complete a complex system design that integrates knowledge from the senior year and satisfies an external customer. Prerequisites: IT 440, CS 430, 470.



CATALOG INFORMATION
COMPUTER SYSTEMS ENGINEERING DEGREE PROGRAM

 

Overview

Computer Systems Engineering is the discipline concerned with the design, implementation, and maintenance of digital systems that have become the foundation of modern Information Technology. A CSE professional must have a conceptual understanding of the physics and engineering of the digital electronics that underlies the computing and communication systems. A CSE professional must have a mastery of the computer aided design tools without which the design of complex digital systems will be impossible. In addition, a CSE professional will have a solid understanding of the architectural and software aspects (operating system, data structures, and algorithms) of computing systems and the fundamentals of data communications and networking. 


Levels of Competence

The Computer Systems Engineering degree program is organized as two stages beyond the IT core, corresponding to the junior and senior years. The objective of each stage is to bring each student to a level of professional competence associated with that stage. The levels of competence are:

Advanced Beginner (junior year) -- familiar with the basic hardware and design of digital systems. Introduction to computer architecture and network protocols. This stage consists of the first year of CSE major. The exhibition is focused on working in a group to produce a hardware design for a simple digital system. (34 credit hours).

Entry-level Professional (senior year) -- Thorough understanding of the design practices in digital systems. Specialization in advanced computers or data networking is achieved in this year. The student will develop a solid sense of professional ethics and will possess written and oral communications skills. The year culminates in an exhibition (34 credit hours). The exhibition is focused on a senior design project with a customer and application orientation.


Breadth and Depth

The curriculum is designed to help students develop breadth in their understanding of the discipline and its interactions with other disciplines. Each student should, in consultation with their advisor, select electives and projects that enable them to develop depth in at least one specialization area. A guideline is to take two electives in one of the two tracks (computers or data networks) in order to achieve greater depth. 


Electives

In senior year, the student will choose either the Computer Track or the Networks Track. The Computer Track specializes in new generation computer technology and different aspects of computing (databases, operating systems, algorithms). The Networks Track focuses on new generation data communication network technologies and specific aspects of networks (cryptography, internet software, network management). Students will take elective courses from an approved list in their chosen track in each of the semesters in the senior year. In addition, the students will take advanced topics course from their specialty. Courses that are not on the approved list may be taken as electives in consultation with the student advisor. 


Plan of Study

On entering the CSE major (junior year), each student will, in cooperation with an advisor, work out a plan of study. The plan will state the student's professional objectives and the area of specialization. The plan can be modified at any time as needs and circumstances change. 


Laboratories

Laboratories are needed to support many of the courses and the exhibitions. Some course (e.g., CSE 301 and 302) can be taught in the labs to emphasize the hands-on nature of the courses. 


Course Layout

This is a suggested layout that achieves balanced course load among semesters and accommodates prerequisites.

AREA
JUNIOR
SENIOR
CSE

CSE 301
Electronics

CSE 302
Digital Hardware

CSE 430
Computer Interfacing

 

CSE 320
Signals and Systems I

 

CSE 420
Signals and Systems II

 

CSE 311
Digital System Design I

CSE 312
Digital System Design I
I

CSE 411
Microcomputer Architecture

CSE 499
Special Topics in Computer Systems Engineering

CS

IT 300
Computer Architecture

IT 320
Prog III

 

CS 440
Great Principles of IT

 

 

CS
elective
OR

CS
elective
OR
Networks

IT 310
Network protocols & software

CSE 341
Data Communications
NE
Elective

NE
Elective

Humanities IT 340
Speaking and writing
  HUM
elective
HUM
elective

Professional Responsibility

 

IT 360
Prof'l Resp. Workshop

 

IT 460
Prof'l Resp. Workshop
Exhibition  

CS 390
Exhibition

 

CS 490
Exhibition

 

Courses 

IT Courses

IT 300. Computer Architecture.

IT 310. Network Protocols and Software.

IT 320. Programming III.

IT 340. Speaking and Writing.

IT 360 & 460. Professional Responsibility Workshops.


Electives for Computer Track

See the IT and CS Courses for complete descriptions.

CS 420. Language Processors.

CS 430. Database Systems.

CS 450. Analysis of Algorithms.

CS 460. Graphics and Human Computer Interaction.

CS 470. Operating Systems.

CS 471. Distributed Operating Systems.

CS 473. Advanced Computer Architecture.


Electives for Networks Track

See the IT and NE Courses for complete descriptions.

IT 330. Cryptographic Algorithms and Protocols.

NE 441. Wireless and mobile communications.

NE 451. Internet System Software

NE 461. Computer and Network Security

NE 471. Network Management

 

Computer Systems Engineering Courses

CSE 301. Electronics (3:3:3). Basic electrical circuits (DC, AC). Resistors, capcitors, inductors, transistors, amplifier circuits. Introduce SPICE software package. Simple laboratory experiments introducing basic instrumentation (power supply, multi-meters, oscilloscopes, function generators). Prerequisite: IT 212. (Could be taught by Electrical Engineering Department after agreement on content.)

CSE 302. Digital Hardware (3:3:3). Introduction to semiconductor physics and p-n junctions. Digital integrated circuits at the device level. Various generations of integrated circuits (bipolar, CMOS etc.). Basic digital logic gate design and physical layouts of simple digital circuits. Prerequisite: CSE 301. (Could be taught by Electrical Engineering Department after agreement on content.)

CSE 311. Digital System Design I (3:3:0). Discussion of boolean algebra, combinational circuits, common combinational modules, introduction to sequential circuits. Simplification of combinational circuits, synchronous and asynchronous logic, flip-flops, registers, counters, memories, arithmetic circuits, digital system design case studies, and elementary computer architecture. Introductory laboratory working with basic modules. Prerequisites: IT 212, 220.

CSE 312. Digital System Design II (3:3:0). Introduction to VHDL. Finite state machines, gate arrays, (FPGAs). Complex Programmable Logic Devices (CPLDs). CAD tools for FPGA and PALs. Parallel and serial I/O techniques. Behavioral, schematic and netlist description of digital systems. Prerequisite: CSE 311.

CSE 320. Signal and Systems (3:3:0). Basic concepts in digitizing signal representation. Sampling and quantization. Analog signals and complex phasor representation. Unit impulse response and convolution and simple FIR filters. Time and frequency domain representation of signals. Matlab-based exercises. Prerequisites: IT 212, 220.

CSE 341. Data Communications (4:3:3). Basic communication theory. Basic coding theory. Analog and digital communications. Analog communication systems. Digital communication links. LAN architecture and protocols. Prerequisites: IT 202, IT 212.

CSE 390. Junior Computer Systems Engineering Exhibition (3:3:0). Students demonstrate through actual performance that they have attained the advanced beginner level in computer systems engineering. Teams will complete a system design that integrates knowledge from the junior year. Prerequisites: IT 300, 320; CSE 311, 301, 320. Corequisites: CSE 302, 312.

CSE 411. Microcomputer Architecture (3:3:0). This will trace the evolution of single microchip computer architecture from x86 families to the newer generation designs (RISC, VLIW architectures). Pipelined processors, instruction set parallelism, ILP, superscalar and superpipelined operation. Memory organization design. Paging and segmentation. Prerequisites: CSE 302, 312, 320.

CSE 420. Signals and Systems II (3:3:0). Discrete-time signal processing systems. Sampling and reconstruction. Difference equations and discrete transfer functions for systems. Architectures of special purpose DSP chips (e.g. Texas Instruments TMS320 family DSP). Applications to multimedia systems (audio and video processing). Prerequisite: CSE 320.

CSE 430. Computer Interfacing: (3:3:0). Issues in micro-controllers and computer interfacing with analog and digital systems. Real-time control issues, assembly language programming for control, design of control software, input/output methods, design tools. Data interrupts, DMA methods. Bus interfaces: SCSI interfaces. Data acquisition -- A/D and D/A converters, buffering. Prerequisite: CSE 302.

CSE 499. (3:3:0) Special Topics in Computer Systems Engineering. Advanced and emerging topics of special interest to undergraduates. May be repeated once with a substantially different topic. To be taken in final semester of senior year.

CSE 490. Senior Computer Systems Engineering Exhibition (6:3:0). Students demonstrate through actual performance that they have attained the entry-level professional status in computer systems engineering. Teams will complete a system design that integrates knowledge learned throughout the 4-year program. Emphasis will be placed on "customer interface" and a complete end-to-end design activity. Prerequisites: CSE 411, 420, 430. Corequisites: CSE 412, NE 441.



CATALOG INFORMATION
SOFTWARE ENGINEERING DEGREE PROGRAM

 

Overview

Software Engineering is the application of well-documented principles, techniques, and technologies to develop reliable, high-quality software. The term quality refers to measurable criteria including reliability, safety, maintainability, cost, usability, and efficiency. The problems and the disciplines studied flow directly from issues and problems faced by industrial software practitioners. These disciplines include building software, defining requirements, designing software solutions, testing and evaluating software, managing projects, and interacting with people. Courses in the Software Engineering major fall into five major areas:

Courses in the first area teach the students to code, to write high quality software components, to integrate software components, and to deal with the many complicated issues related to developing code for large-scale systems. These courses flow directly from core IT courses in programming and Computer Science. The second set of courses address the fundamental distinction between "what" (requirements) and "how" (design); they teach students to document requirements, develop specifications, and design software systems of various sizes. The third set of courses teach students how to evaluate the various software artifacts, including code, requirements, designs, and documentation. The fourth set of courses address the complex issues of inter-personal relationships and team organization in developing software. The fifth set of courses gives students experience in applying the principles of software engineering to diverse types of software.


Levels of Competence

The Software Engineering major consists of 66 credits in the junior and senior years. The objective of each stage is to bring each student to a level of professional competence associated with that stage. The levels of competence sought by the junior and senior years are:

Advanced Beginner (junior year): Students know how to design and implement software of good quality. They understand the necessity, nature, and purpose of teamwork in software engineering projects. They communicate effectively. They are generally familiarity with all aspects of software production. (33 credit hours)

Entry-level Professional (senior year): Students have thorough knowledge of how to specify, design, build, verify, test, and validate complex software products. They are capable of applying standard Software Engineering principles to diverse applications. They understand professional responsibility and ethics and act accordingly. (33 credit hours) 


Plan of Study

On entering the SWE major (junior year), each student will, in cooperation with an advisor, develop a plan of study. The plan will state the student's professional objectives and the area of specialization. The plan can be modified if necessary.


Course Layout

This is a suggested layout that achieves balanced course load among semesters and accommodates prerequisites. 

AREA
JUNIOR
SENIOR
Math   SWE 317
Formal Methods
   
SWE

SWE 311
Requirements

SWE 301
Software Construction

SWE 401
Reuse and Components

SWE 422
Metrics

SWE 315
Software Design I

SWE 316
Software Design 2

SWE 421
Software Testing

SWE
Application Area Elective
  SWE 316
User Interface Design
SWE
Application Area Elective
SWE
Application Area Elective
    SWE
Application Area Elective
 
Business

IT 440
Project Management & Practice

     
CS IT 320
Progr III
CS 430
Database Systems
  IT 310
Network Protocols & Software
Humanities IT 340
Speaking and wirting
  HUM
elective
HUM
elective
SWE 231
Organizational Psychology
     

Professional Responsibility

IT 360
Prof'l Resp. Workshop

 

IT 460
Prof'l Resp. Workshop

 
Exhibition  

SWE 390
Junior software engineering Exhibition

SWE 390
Senior software engineering Exhibition 1

SWE 390
Senior software engineering Exhibition 2

 

Software Engineering Courses 


IT Courses

See the IT Courses for complete descriptions.

IT 220. Programming II.

IT 310. Network Protocols and Software.

IT 320. Programming III.

IT 340. Speaking and Writing.

IT 360 and 460. Professional Responsibility Workshops.

IT 440. Project Management and Practice.


Computer Science Courses

CS 430. Database systems.


Software Engineering Courses

The 300-level courses below are taken primarily during the junior year and the 400-level courses during the senior year. The courses listed under "Application Area Electives" (441-446, and 499) provide the SWE electives during the senior year.

SWE 230. Organizational Psychology (3:3:0). Examination of application of psychological principles and methods to problems commonly encountered in business and industry. (Could be taught by Psychology Dept after agreement on content.)

SWE 301. Software Construction (3:3:0). Quality-oriented software construction and evaluation using a modern language. Various forms of abstraction: information hiding, data abstraction, concurrency, object-oriented programming, and client-server programming. Prerequisite: IT 320.

SWE 311. Software Requirements (3:3:0). Study of methods, tools, notations, and validation techniques for the analysis and specification of software requirements. Prerequisite: IT 220.

SWE 315. Software Design 1 (3:3:0). Concepts and methods for the design of small to moderate sized software systems. Fundamental design concepts and design notations such as the Unified Modeling Language (UML) are introduced. Several design methods are presented and compared, with examples of their use. Prerequisite: IT 220.

SWE 316. Software Design 2 (Architecture) (3:3:0). Concepts and methods for modeling and the architectural design of large-scale software systems. Design concepts and notations are described and used. Students participate in a group software design project. Prerequisite: SWE 315.

SWE 317. Formal Methods (3:3:0). Formal mechanisms for specifying, validating, and verifying software. Formal specification using various techniques, and initial specification and refinement towards implementation. Integration of formal methods with existing programming languages, and the application of formal methods to requirements analysis, testing, safety analysis, and object-oriented approaches. Prerequisite: IT 200, SWE 311.

SWE 318. User Interface Design (3:3:0). Principles of user interface design, development, and programming. Includes user psychology and cognitive science, user interface evaluation, icon and window design, command language design, and web-based user interfaces. Prerequisite: SWE 315.

SWE 390. Junior SWE Exhibition (3:3:0). This will be an implementation-oriented demonstration. Students, either singly or in small teams, will build a moderate sized software system to conform to a set of requirements. The software will be evaluated on adherence to all the software engineering criteria discussed in classes as well as how well the requirements are satisfied. Prerequisites: SWE 311, 315. Corequisite: SWE 301, 316, 317.

SWE 401. Reuse and Component-based Development (3:3:0). Methods and techniques for constructing large-scale software systems from pre-existing components. How to specify and locate components. Issues with integrating diverse components, including solving multi-language and multi-platform problems. Prerequisite: SWE 301, SWE 317.

SWE 421. Software Testing (3:3:0). Concepts and techniques for testing software and assuring its quality. Software testing at the unit, module, subsystem, and system levels. Automatic and manual techniques for generating and validating test data. The testing process, static vs. dynamic analysis, functional testing, inspections, and reliability assessment. Prerequisite: SWE 317.

SWE 422. Metrics (3:3:0). The theory and application of techniques and tools to measure and evaluate various quality attributes of software. Target attributes will include complexity, reliability, safety, security, maintainability and conformance to various standards. Prerequisite: SWE 421, IT 440.

SWE 490. Senior SWE Exhibition 1 (3:3:0). Senior capstone project spanning two semesters and including a complete software lifecycle demonstration for a customer. Teams of students will elicit requirements from the customer for a moderate to large sized software system. They will design the software, construct or acquire components, integrate the components, test, validate, document each software artifact throughout the project. It is expected that the product will be demonstrated through a web-based user interface. Corequisite: SWE 401, SWE 421.

SWE 491. Senior SWE Exhibition 2 (3:3:0). Continuation of SWE 490. Prerequisite: SWE 490.


Application Area SWE Electives

SWE 441. User Interface Development (3:3:0). Tools and techniques for designing, developing, and deploying user interfaces. Theories of interaction and component integration. Particular attention will be given to graphical user interfaces and web-based interfaces. Prerequisite: SWE 301, SWE 316.

SWE 442. Concurrent and Distributed Software (3:3:0). Study of issues related to the development of concurrent and distributed software. Topics include the theory of concurrency and software distribution. Students will carry out projects using technologies such as threads, communication primitives, and sockets, and higher-level technologies such as remote procedure calls and distributed object middleware technologies. Prerequisite: SWE 316, SWE 317.

SWE 443. Programming Languages (3:3:0). Survey of a number of programming languages. Their underlying models, how they differ, and the kinds of applications each support. The theory of programming languages will be discussed. Prerequisite: SWE 401.

SWE 444. Software Tools (3:3:0). In-depth analysis of the theory, design, and development of tool to support software development. Analysis techniques, integration techniques, construction issues, and incorporation into software development. Students will gain experience in building software development tools. Prerequisite: SWE 401.

SWE 445. Information System Implementation (3:3:0). Issues in developing data bases and other information repositories. Development of knowledge-based rover programs. Students will carry out a project to design and implement a small data base, information storage system, or knowledge rover. Prerequisite: SWE 316, CS 430.

SWE 446. Web-based Software (3:3:0). Theoretical and practical issues in the specification, design and construction of software systems that run on the web. Software construction models, languages, and technologies for the development of web software will be discussed. Students will design and build a web-based software product. Prerequisite: SWE 318, SWE 401.

SWE 499. Special Topics in Software Engineering (3:3:0). Topics of special interest to SWE majors. May be repeated with different topics.



CATALOG INFORMATION
NETWORK ENGINEERING DEGREE PROGRAM 

 

Overview

Network engineering is the discipline concerned with the design, implementation, and maintenance of the computer networks used in almost all other professions. Network engineers must be well grounded in the technologies needed for the transmission of information as well as design, maintenance and use of computer hardware and software. They also must be capable of working closely with members of other professions associated with computing. Network engineers must achieve technical competence in electronic circuits, theory of telecommunications, digital hardware, computer software, network protocols, computer and network security, and network management. They must have a high level of technical skill in designing, programming, and testing computer networks. 


Levels of Competence

The network engineering bachelor's degree program is organized as two stages beyond the IT core, corresponding to the junior and senior years. The objective of each stage is to bring each student to a level of professional competence associated with that stage. The levels of competence are:

Advanced Beginner (junior year) -- familiar with the terminology and concepts of telecommunications and networking; sees many of the connections among components of networked computer systems; able to design data communication systems of moderate complexity combining software, computer systems and network components, interconnect them, and test them; can carry out tasks for a customer but needs supervision to avoid common pitfalls and breakdowns. Able to communicate orally and in writing. This stage consists of the first year of the NE major and its exhibition (32 credit hours).

Entry-level Professional (senior year) -- thoroughly familiar with telecommunications and network technology; understands networked systems and can diagnose system problems; able to design networks of significant complexity (local and wide area networks involving multiple protocols), configure them, test them, document them, and present them. Can carry out standard professional tasks for customers in application domains without supervision. Understands professional ethics and acts accordingly. This stage consists of the second year of the NE major and its exhibition (26 credit hours). The exhibition is focused on a senior design project.


Breadth and Depth

The curriculum is laid out to help students develop breadth in their understanding of the discipline and its interactions with other disciplines. 


Electives

Students should select two elective courses from the Humanities curriculum, and at least one elective course from Science or Information Technology, to add breadth to their studies. 


Plan of Study

On entering the NE major (junior year), each student will, in cooperation with an advisor, work out a plan of study. The plan will state the student's professional objectives and the area(s) of specialization. The plan can be modified at any time as needs and circumstances change. 


Curriculum Outline

AREA
JUNIOR
SENIOR
Math        
NE

IT 320
Programming III

 

CS 430
Database Systems

 

IT 300
Computer Architecture

 

CS 470
Operating systems

 

CSE 301
Electronics

CSE 311
Digital System Design

   
IT 310
Network Protocols and software
CSE 341
Data Communications

NE 441
Wireless / Mobile Communications

NE 471
Network Management

      NE 451
Internet System Software
  IT 330
Cryptographic Algorithms and Protocols
  NE 461
Computer and Network Security
Business     IT 440
Project mgt
 
Humanities IT 340
Speaking and writing
HUM
elective
HUM
elective
 

Professional Responsibility

IT 360
Prof'l Resp. Workshop

 

IT 460
Prof'l Resp. Workshop

 
Exhibition  

NE 390
Junior Network Engineering Exhibition

 

NE 490
Senior Network Engineering Exhibition

 

Courses


IT Courses

See the IT course descriptions for these courses.

IT 300. Computer Architecture (3:3:0).

IT 310. Network Protocols and Software (3:3:0).

IT 320. Programming III (3:3:0).

IT 330. Cryptographic Algorithms and Protocols (3:3:0).

IT 340 Speaking and Writing (3:3:0).

IT 360 & 460. Professional Responsibility Workshop (1:1:0).

IT 440. Project Management (3:3:0). 


CSE Courses

See the CSE course descriptions for these courses.

CSE 301. Electronics (3:3:3).

CSE 311. Digital System Design I (3:3:3).

CSE 341. Data Communications (3:3:3).


CS Courses

See the CS course descriptions for these courses.

CS 430. Database Systems (3:3:0).

CS 470. Operating Systems (3:3:0).


NE Courses

The following courses numbered 3xx are intended only for juniors. All others are intended for seniors.

NE 390. Junior Network Engineering Exhibition (3:1:6). This will be an electronic communications oriented demonstration. Students would have completed the coursework on linear and digital circuits design plus data communications. They will design, assemble and test a data communications system. Prerequisites: IT 300, 310, 320, 340; and NE 301. Corequisites: IT 330 and NE 311, 341.

NE 441. Wireless and Mobile Communications (4:3:3). Principles of radio communications. Introduction to terrestrial and satellite radio links. Mobile communication systems. Wireless network architectures and protocols. Mobile IP. Prerequisite: NE 341.

NE 451. Internet System Software (3:3:0). html/http, web clients and servers. Distributed applications. Collaboration systems and middleware. XML and its applications. Pre-requisites: IT 310, CS 470.

NE 461. Computer and Network Security (3:3:0). Principles of computer and network security. Public key encryption. Security architectures. Firewalls and virtual private networks. IPSEC, SSL and SSH. Pre-requisite: IT 330.

NE 471. Network Management (3:3:0). Reliability concepts. Architectures for system observation and control. System utilization. Protocols for network management, CMIP and SNMP. Network management software systems. Prerequisites: NE 451, NE 461.

NE 490. Senior Network Engineering Exhibition II. (3:1:6). Network design, analysis and demonstration project of significant scope, involving both LAN and WAN technologies. CO-requisites: NE 452, NE 461, NE 471.

NE 498. Independent Study (1-3:0:0). Research and analysis of selected problems and topics in network engineering. Arranged with an instructor. May be repeated once with a substantially different topics.

NE 499. Special Topics (3:3:0). Topics of special interest to undergraduates. May be repeated once with a substantially different topic.



CATALOG INFORMATION
INFORMATION SYSTEMS DEGREE PROGRAM

 

Overview

Information technology pervades all organization functions. Accounting, finance, marketing, production, engineering, and most other departments use it. Information systems professionals with system management and system development expertise design, build, maintain, operate, and repair these systems. These professionals support innovation, planning, and management of information infrastructures and coordination of information resources. System development by IS staff involves not only organization-wide integrated systems, but also support for individual and departmental application development.

Information Systems, as an academic field, encompasses two broad areas: The Information Systems Function deals with acquisition, deployment, and management of information technology resources and services. The System Development Function deals with development and evolution of infrastructure and systems for use in organization processes.

The information systems function has a broad responsibility to develop, implement, and manage an infrastructure of information technology (computers and communications), data, and organization-wide systems. It has the responsibility to track new information technology and assist in incorporating it into the organization's strategy, planning, and practices. This function also supports departmental and individual information technology systems.

The system development function for organization and inter-organization processes involves creative use of information technology for data acquisition, communication, coordination, analysis, and decision support. The curriculum teaches the methods, techniques, technology, and methodologies for system development. Creating systems in organizations includes issues of innovations, quality, human-machine systems, human-machine interfaces, sociotechnical design, and change management. 


Levels of Competence

The information systems bachelor's degree program is organized as two stages beyond the IT core, corresponding to the junior and senior years. The objective of each stage is to bring each student to a level of professional competence associated with that stage:

Advanced Beginner (junior year) -- able to develop small information systems, use information systems effectively, and understand quality criteria. Able to deal with functions and interrelationships of hardware and software within applications. Able to use file structures, data structures, storage and retrieval methods, networking, and telecommunications effectively in applications. Familiar with internal controls for accuracy, integrity, and confidentiality of information. Knows management processes and how a system provides information to management that is relevant, timely, reliable, and readily accessible. This stage consists of the first year of the IS major and its exhibition (33 credit hours).

Entry-level Professional (senior year) -- thoroughly familiar with information systems; understands systems and can diagnose system problems; able to design information systems of moderately large complexity (hundreds of modules), program them, test them, document them, and present them. Can carry out standard professional tasks for customers in application domains without supervision. Can supervise small-team projects effectively. Understands professional ethics and acts accordingly. This stage consists of the second year of the IS major and its exhibition (33 credit hours). The exhibition is focused on a senior design project with a customer. 


Breadth and Depth

The curriculum is laid out to help students develop breadth in their understanding of the discipline and its interactions with other disciplines. Each student should, in consultation with their advisor, select electives and projects that enable them to develop depth in at least one specialization area. Electives can be chosen from the IS courses or from other IT programs. A guideline is that three electives in related subjects are needed to achieve depth. 


Electives

Any course IS 3xx or IS 4xx listed below in the catalog, and which is not required, may be used as an elective. Juniors may select non-required IS 4x0 courses only for their electives. Other courses in the IT College may be taken as electives provided that the student's advisor determines that the student has the formal prerequisites or their equivalents.  


Plan of Study

On entering the IS major (junior year), each student will, in cooperation with an advisor, work out a plan of study. The plan will state the student's professional objectives and the area(s) of specialization. The plan can be modified at any time as needs and circumstances change. 


MIS Specialization

The curriculum provides a track for students who seek a greater understanding of business processes and how information systems support management.


Curriculum Layout

AREA
JUNIOR
SENIOR
Math        
IS

IS 300
Fundamentals of Information Systems

IS 310
IS theory & practice

IS 410
Analysis & logical design

IT 440
Project mgt

IT 300
Computer Architecture

EC 324
Networked operating systems

EC 325
Middleware systems and e-business sites

 

IT 320
Prog III

IT 310
Network Protocols and software

IS 420
Physical design with DBMS
 
  CSE 341
Data Communications

NE 441
Wireless / Mobile Communications

NE 471
Network Management

Business elective   IS 430
Physical design with PE
IS
elective
IS
elective
  IS
elective
IS
elective
Science SCI elective      
Humanities   IT 340
Speaking and writing
  HUM
elective

Professional Responsibility

IT 360
Prof'l Resp. Workshop

 

IT 460
Prof'l Resp. Workshop

 
Exhibition  

IS 390
Junior Information Systems Exhibition

 

IS 490
Senior Information Systems Exhibition

 

Courses


IT Courses

See the IT course descriptions for these courses.

IT 300. Computer Architecture (3:3:0).

IT 310. Network Protocols and Software (3:3:0).

IT 320. Programming III (3:3:0).

IT 340 Speaking and Writing (3:3:0).

IT 360 & 460. Professional Responsibility Workshop (1:1:0).

IT 440. Project Management (3:3:0).


EC Courses

See the EC course descriptions for these courses.

EC 324. Networked Operating Systems (3:3:0).

EC 325. Middleware systems and E-business (3:3:0).


IS Courses

The following courses numbered 3xx are intended only for juniors. All others are either required for seniors or are electives. Juniors may take senior courses ending in 0 (IS4x0) as electives.

IS 300. Fundamentals of Information Systems (3:3:0). Introduction to systems and system development, information technology, and application software. How information is used in organizations to enable improvements in quality, timeliness, and competitive advantage. System concepts. System components and relationships. Cost/Value and quality of information. Competitive advantage and information. Specification, design, and re-engineering of information systems. Application versus system software. Package software. Procedural and non-procedural programming languages. Object oriented design. Database features, functions, and architecture. Networks and telecommunications systems and applications. Characteristics of professionals and IS career paths. Prerequisite: IT 212.

IS 310. Information Systems Theory and Practice (3:3:0). Organizational systems, planning, and decision processes and their support by information systems. System theory and concepts. Information systems and organizational systems. Decision theory and its implementation. TQM and re-engineering. Strategic, tactical, and operational system levels. System components and relationships. Information system strategies. Roles of information, information technology, users, developers, and managers. IS planning. Human-computer interface. Network and telecommunication systems management. Electronic commerce. Evaluation of system performance. Social and ethical issues related to information systems development and use. Prerequisite: IS 300.

IS 390. Junior Information Systems Exhibition (3:1:3). Students demonstrate through actual performance that they have attained the advanced beginner level in information systems. Teams will complete a system design that integrates knowledge from the junior year. Prerequisites: IS 300, IT 300, 320. Corequisites: IS 310, IT 310.

IS 410. Analysis and Logical Design (3:3:0). The system development and modification process. Life cycle phases requirements determination, logical design, physical design, test planning, implementation planning, and performance evaluation. Communication, interpersonal, interviewing, and presentation skills. Group dynamics. Risk and feasibility analyses. Group-based approaches: project management, joint application development (JAD), and structured walkthroughs. Object oriented design. Software production and reviews. Prototyping. Database Design. Software quality metrics. Application categories. Software package evaluation and acquisition. Professional code of ethics. Prerequisite IS 310.

IS 420. Physical Design and Implementation with DBMS (3:3:0). Information systems design and implementation within a database management systems environment. Team project to construct a system. Data models. Modeling tools and techniques. Structured and object design approaches. Relational, hierarchical, networked, and object oriented database models. CASE tools. Data dictionaries, repositories, warehouses. Client-server planning, testing, and installation. System conversion, end-user training, and post implementation review. Prerequisite: IS 410.

IS 430 Physical Design and Implementation with a Programming Environment (3:3:0). Information systems design and implementation within an object oriented, client-server programming environment. Full client and browser-active server based approaches are considered. Team project to construct a system. Selection of client-server programming language environment. Software construction. Structure, event drive, and object oriented application design. Testing. Software quality assurance. System implementation. User training. System delivery. Post implementation review. Configuration management. Maintenance. Reverse engineering and re-engineering. Prerequisite: IS 410.

IS 490. Senior Information Systems Exhibition (6:1:6). Students working in teams demonstrate through actual performance that they have attained the entry-level professional level in information systems. Teams will complete a complex system design that integrates knowledge from the junior year and satisfies an external customer. Prerequisites: IT 440, IS 410, 420, 430.


MIS Courses

(To be used as IS electives by students seeking the MIS specialization.)

IS 350. Enterprise Resource Planning (3:3:0). Technology and architecture, implementing integrated package solutions, the ERP framework, tools, and functionality of leading enterprise systems, ERP procurement , ERP vendors (Oracle, SAP, etc.), implementation cases, supply chain management. Prerequisites: IT 240, 241.

IS 351. IT Issues in Knowledge Management (3:3:0). KM antecedents, tacit vs. explicit knowledge, knowledge markets, communities of practice, KM as a management discipline, knowledge vs. information, evaluating knowledge in financial terms, case studies, KM software. Prerequisite: IS 350.

IS 450. Business and IT Issues in Data Mining (3:3:0). Establishing DM structures, organizational issues, .association rules, decision trees, neural networks, clustering, sequence similarity, data preparation, data warehousing, parallel/distributed data mining, knowledge discovery. Prerequisite: IS 351.

IS 451. Business Process Reengineering (3:3:0). Process innovation, process redesign techniques/tools, continuous quality improvement, group technology, outsourcing, waste minimization, downsizing, principles of reengineering. Prerequisite: IS 451.



CATALOG INFORMATION
INFORMATION SECURITY DEGREE PROGRAM

 

Overview

Information security is the discipline concerned with design, implementation, and operation of secure computer and information systems. Information security professionals must achieve a high level of technical competence in the technologies used to build modern information systems including computer networks, operating systems and databases. They must be proficient in the underlying foundations of computer science, software engineering and information systems. They must have a thorough understanding of security technologies such as cryptography, access control, intrusion detection and recovery, as well as how these technologies are deployed to build secure systems. Finally they must be capable of working closely with members of other professions associated with computer and information systems, and must display a high standard of professionalism and ethics.


Levels of Competence

The information security bachelor's degree program is organized as two stages beyond the IT core, corresponding to the junior and senior years. The objective of each stage is to bring each student to a level of professional competence associated with that stage. The levels of competence are:

Advanced Beginner (junior year) -- familiar with the terminology and concepts of information security; sees many of the connections among components of secure computer systems; able to design secure systems of moderate complexity, program pieces of them, and test them; can carry out tasks for a customer but needs supervision to avoid common pitfalls and breakdowns. Able to communicate orally and in writing. This stage consists of the first year of the Information Security major and its exhibition (33 credit hours).

Entry-level Professional (senior year) -- thoroughly familiar with information security; understands secure systems and can diagnose system problems; able to design secure systems of moderately large complexity, program pieces of them, test them, document them, and present them. Can carry out security professional tasks for customers in application domains without supervision. Understands professional ethics and acts accordingly. This stage consists of the second year of the Information Security major and its exhibition (33 credit hours). 


Breadth and Depth

The curriculum is laid out to help students develop breadth in their understanding of the Information Security discipline and its interactions with other disciplines. Depth is provided by means of the Junior and Senior Exhibitions and the Senior Year Advanced Topics and Emerging Topics courses.


Plan of Study

On entering the Information Security major (stage 2, junior year), students follow the plan of study described below. The General Electives in the Senior year should be chosen in consultation with the student's advisor from a list of electives maintained for this purpose by the Department. 


Curriculum Outline

AREA
JUNIOR
SENIOR
Information Technology IT 310
Network Protocols and Software
     
IT 320
Prog III
     
IT 330
Cryptographic Algorithms & Protocols
     
Security

SEC 301
Security Principles and Practice

SEC 335
Advanced Cryptographic Protocols

SEC 455
Intrusion Detection and Response

SEC 430
Secure Electronic Commerce

SEC 309
Computer Systems

SEC 351
Access Control Models and Technologies

SEC 408
Secure Mobile Code

SEC 451
Policy, Criteria and Evaluation

 

SEC 358
Network Border Controls

SEC 411
Fault Tolerance, Reliability and Safety
SEC 499
Advanced Topics in Information Security
  SEC 315
Software Design, Verification, Testing
SEC 425
Security Architectures and Mechanisms
 
Science and Humanities   IT 340
Speaking and writing
SCI or HUM
elective
SCI or HUM
elective

Professional Responsibility

IT 360
Prof'l Resp. Workshop

 

IT 460
Prof'l Resp. Workshop

 
Exhibition  

SEC 390
Junior Information Security Exhibition

 

SEC 490
Senior Information Security Exhibition

 

Courses


IT Courses

See the IT Courses for complete descriptions.

IT 310. Network Protocols and Software.

IT 320. Programming III.

IT 330. Cryptographic Algorithms and Protocols.

IT 340. Speaking and Writing.

IT 360 & 460. Professional Responsibility Workshops. 


Information Security Courses

SEC 301. Security Principles and Practice (3:3:0). information security threats, vulnerabilities and countermeasures. Security objectives and techniques. Risk analysis. Trojan Horses, viruses, worms, covert channels, mobile code, denial of service attacks, coutermeasures. Access control objectives and mechanisms. Inference and aggregation. The polyinstantiation problem. Security architectures. Security functionality and assurance. Prerequisite: Completion of Sophomore IT Core. CO-requisite: IT 330.

SEC 309. Computer Systems (3:3:0). Operating system architectures, distributed file systems, remote procedure calls, middleware, kernels and micro-kernels, distributed algorithms, stable storage, distributed system services. The relational model and its foundations, entity-relation model, B-trees and similar techniques, transaction processing and concurrency control, data warehouses and data mining, architecture of modern database management systems. Prerequisite: Completion of Sophomore IT Core. CO-requisite: IT 320. (Could be taught by the CS Department.)

SEC 315. Software Design, Verification, Testing (3:3:0). Object-oriented design, UML, software verification and formal models, liveness, safety and security properties such as noninterference, theory and practice of software testing. Prerequisite: Completion of Sophomore IT Core; IT 320

SEC 335. Advanced Cryptographic Protocols (3:3:0). Common design flaws, general design principles, logics for proofs of correctness, limitations of formal methods, composition of protocols, authentication protocols, payment protocols, anonymity protocols, multiparty protocols. Internet security protocols: IPSEC, TLS, Kerberos, Radius, SET, PPP, S/MIME, deployment and application of these protocols. Prerequisites: IT 310, 330, 309; SEC 301.

SEC 351. Access Control Models and Technologies (3:3:0). Security objectives and tradeoffs, access matrix model, access control lists and capabilities, lattice-based access control, discretionary access control, role-based access control, protection rings and domains, object-based models, authentication technologies and systems, case studies. The OM-AM framework, administration of access control, the safety problem, HRU, Take-Grant, SPM and TAM, secure workflow models, relationship among access control models, distributed authorization architectures, authentication services, authorization services, digital certificates and their applications, authorization across enterprise boundaries. Prerequisite: SEC 309.

SEC 358. Network Border Controls (3:3:0). Firewalls, packet, circuit and application gateway firewalls, security guards, one-way connections, virtual private networks, secure remote access. Network security attacks and countermeasures. Software and hardware architectures. Prerequisite: IT 310, 330, 309; SEC 301.

SEC 390. Information Security Junior Exhibition (3:1:2). This will be an implementation-oriented demonstration. Students, either singly or in small teams, will build a small sized secure system to conform to a set of requirements. The system will be evaluated on adherence to all the software engineering criteria discussed in classes as well as how well the requirements are satisfied. Prerequisite: Final semester of Information Security degree Junior stage.

SEC 455. Intrusion Detection and Response (3:3:0). Misuse and anomaly detection, fundamental limits of intrusion detection, statistical techniques, signature and pattern-matching techniques, artificial intelligence techniques, audit reduction, recovery and response, design for survivability. Prerequisite: Completion of Information Security degree Junior stage.

SEC 408. Secure Mobile Code (3:3:0). Manifestations of mobile code, security threats and problems, protecting the host, protecting the agent, language-based protection. Prerequisite: Completion of Information Security degree Junior stage.

SEC 411. Fault Tolerance, Reliability and Safety (3:3:0). Fault tolerance, reliability and safety theory and practice. Concept of fault and failure. Relationship of fault tolerance and security. Hardware and software reliability. Safety techniques for critical systems. Relationship of safety and security. Prerequisite: Completion of Information Security degree Junior stage. (Could be taught by CS or SWE Departments.)

SEC 425. Security Architectures and Mechanisms (3:3:0). The OM-AM framework revisted. Security architectures and mechanisms. Security infrastructure. Reusable infrastructures. Public-key centric architectures. Consumer-oriented public-key infrastructure. Coupled and de-coupled authentication and authorization architectures. Multilevel security architectures. Prerequisite: Completion of Information Security degree Junior stage.

SEC 430. Secure Electronic Commerce (3:3:0). Case studies in application of security technology in electronic commerce. Prerequisite: Completion of Information Security degree Junior stage.

SEC 451. Policy, Criteria and Evaluation (3:3:0). The Common Criteria, functionality versus assurance, assurance techniques, security policy drivers. Criteria for cryptographic devices. Internal and external security evaluations. Prerequisite: Completion of Information Security degree Junior stage.

SEC 490. Information Security Senior Exhibition (6:1:5). This will be a complete secure system demonstration. Teams of students will elicit requirements from users for a moderate sized secure system. They will design the system, construct or acquire components, integrate the components, and evaluate and validate the final product. Countermeasures to protect against attacks will be demonstrated. Residual vulnerabilities will be identified and demonstrated. To be taken in final semester of Information Security degree.

SEC 499. Advanced Topics in Information Security (3:3:0). Selected advanced topics, including new and emerging areas, in information security not covered in the rest of the curriculum. Topics to be selected each year. To be taken in final semester of Information Security degree.



CATALOG INFORMATION
ELECTRONIC COMMERCE DEGREE PROGRAM 

 

Overview

E-business is a highly interdisciplinary area that draws from Computer Science, Business, Economics, and Law. Professionals with a major in E-commerce are expected to understand business processes involved in conducting business between businesses (B2B) and between businesses and consumers (B2C). These professionals need to understand how to analyze and design networked systems that support E-businesses, how to develop the applications that implement the business processes, and how to analyze the performance and scalability of e-business sites. The E-commerce major consists of 66 credits distributed in the last two years as indicated below.

Courses in business systems deal with the various aspects of the Information Economy, business processes (e.g., supply-chain management, order fulfillment), marketing, dynamic pricing, privacy and law on the Internet. Courses in customer behavior deal with understanding how users interact with e-business sites, analyzing massive amounts of data (data mining) to predict customer's next steps and enhance customer's experience. Courses in the Computer Science area deal with the aspects of the IT infrastructure needed to support E-business sites. Examples of such courses include networking, security, middleware, computer system performance evaluation, databases, and software design.

At the end of the junior and senior years, students must demonstrate that they have achieved the associated levels of competence (beginner and entry-level professional). They do this through exhibition courses. The courses in the electronic commerce program are numbered EC xyz, where x is either 3 or 4 depending on whether the course is a junior or senior level course, respectively. The middle digit y is 0, 1, 2, or 9 according as the course belongs to the Business Systems and Processes area, to the Customer Behavior Models area, to the Computer Science area, or is an exhibition. The last digit (z) is a sequence number.


Levels of Competence

The bachelor program in E-commerce is organized as two stages that follow the IT core stage common to all degree programs. The objective of each stage is to bring each student to a level of professional competence associated with that stage. The levels of competence are:

Advanced Beginner (junior year) -- familiar with the terminology and concepts of e-commerce; understands e-business models and processes. Able to apply statistical and data mining techniques to analyze patterns of customer behavior; understands the underpinnings of networking, middleware, encryption, and payment protocols. Able to design and implement a simple e-commerce site.

Entry-level Professional (senior year) -- complete familiarity with a multitude of aspects of e-commerce including business processes, marketing on the Internet, privacy and law issues, the IT infrastructure needed to support e-business sites, and user interfaces. Able to analyze the performance and scalability of e-business sites. Capable of designing and implementing a complete e-commerce site of moderate complexity Understands professional ethics and acts accordingly.


Course Layout

This is a suggested layout that achieves balanced course load among semesters and accommodates prerequisites.

AREA
JUNIOR
SENIOR
Business Systems and Processes EC 301
E-Business Models
EC 302
E-Business Processes
EC 401
Marketing
EC 402
Privacy and Law for E-Business
Customer Behavior Models EC 311
Statistical Data Analysis
EC 312
Data Mining and Data Warehousing
EC 411
Customer Behavior Models for E-Business
 
CS

IT 330
Cryptographic Algorithms & Protocols

EC 323
Authentication and Payment Protocols

EC 421
Computer System Performance Evaluation

EC 425
Multimedia Systems

IT 310
Network Protocols and Software

 

SWE 318
Designing User Interfaces

EC 426
Advanced Databases

EC 324
Networked Operating Systems

EC 325
Middleware Systems and E-Business sites

SWE 315
Software System Design
 
Humanities   IT 340
Speaking and writing
HUM
elective
 

Professional Responsibility

IT 360
Prof'l Resp. Workshop

 

IT 460
Prof'l Resp. Workshop

 
Exhibition  

SEC 390
Junior E-Commerce Exhibition

 

SEC 490
Senior E-Commerce Exhibition

 

Courses 


IT Courses

See the IT Courses for complete descriptions.

IT 310. Network Protocols and Software.

IT 330. Cryptographic Algorithms and Protocols.

IT 340. Speaking and Writing.

IT 360 & 460. Professional Responsibility Workshops.


Software Engineering Courses

See the SWE Courses for complete descriptions.

SWE 315. Software System Design.

SWE 318. Designing User Interfaces. 


Electronic Commerce Courses

EC 301. E-Business Models (3:3:0). Principles of the Internet Economy. Business to business, business to consumers, consumer to consumer, business to government, and government to citizen models. Vertical and horizontal hubs. Exchanges. Prerequisites: IT 240 and IT 241.

EC 302. E-Business Processes (3:3:0). Supply-chain management in B2B and B2C environments. Order-fulfillment systems. Configurator systems. Just-in time manufacturing and delivery. Case studies. Prerequisite: EC 301

EC 311. Statistical Data Analysis (3:3:0). Multivariate probability distributions, variable transformations, clustering techniques, regression analysis, analysis of variance, contingency tables, and nonparametric methods. Prerequisite: IT 201.

EC 312. Data mining and Data Warehousing (3:3:0). Statistical methods. Neural networks. Genetic algorithms. Data warehousing. Data marts. OnlinAnalytical Processing (OLAP) techniques. Real-time OLAP techniques. Application of data mining and data warehousing to e-business. Prerequisite: EC 311.

EC 323. Authentication and Payment Protocols (3:3:0). The Secure Socket Layers (SSL) protocol: motivation, basic operation, session establishment, session caching, and basic performance analysis. The Transport Layer Security Protocol (TLS) and SSL. The Secure Electronic Transactions (SET) payment protocol: motivation, basic operation, SET cryptographic operations, and basic performance analysis. Prerequisite: IT 330.

EC 324. Networked Operating Systems (3:3:0). Distributed systems concepts. Lamport clocks. Distributed mutual exclusion. Distributed elections. Atomic transactions. Distributed file systems: replication and consistency techniques. Distributed shared memory. Prerequisites: IT 211 and IT 212.

EC 325. Middleware Systems and E-Business Sites (3:3:0). Client-server systems. Remote Procedure Calls (RPCs). The Object Request Broker (ORB) concept. CORBA. DCE. DCOM. Message-Oriented Middleware (MOM). Enterprise Java Beans. JINI. Software architectures of e-business sites. Students will implement a small distributed application using CORBA or other middleware system. Prerequisites: IT 310 and EC 324.

EC 390. Junior E-Commerce Exhibition (3:1:3). This will require students to work in teams to design and implement a simple B2C e-business site using a scripting tool such as Allaire's Cold Fusion. Prerequisites: IT 310, 330 and EC 301, 311, 324. CO-requisites: EC 302, 312, 323, 325.

EC 401. E-marketing (3:3:0). Changes in distribution channel structures and marketing strategies driven by information technology. Differences between electronic channels and traditional marketing channels. Marketing strategies for information products versus physical products. Electronic channels as enhancement or cannibalization vehicles of traditional channels. Disintermediation, reintermediation, auction-based pricing, e-communities, and network externalities. Prerequisite: EC 302.

EC 402. Privacy and Law for E-Business (3:3:0). Privacy issues on Web and E-commerce sites. The W3C consortium's Platform for Privacy Preferences Project (P3P). An analysis of electronic contracts and digital signature legislation in various countries. Prerequisite: EC 401.

EC 411. Customer Behavior Models for E-Business (3:3:0). Customer Behavior Model Graphs (CBMGs). Metrics derived from CBMGs. Customer Visit Models (CVMs) Clustering analysis and user behavior analysis from CBMGs and CVMs. E-advertisement and dynamic customization. Prerequisite: EC 312.

EC 421. Computer System Performance Evaluation (3:3:0). Performance metrics: response time, throughput, utilization, queue lengths. Operational laws. Simple performance models: state-transition diagrams. Open and closed queuing networks and solution techniques. Scalability analysis of e-business sites. Load testing and Web log analysis tools. Web server benchmarks. The TPC-W benchmark for e-commerce workloads. Prerequisites: IT 201, IT 212, and IT 300.

EC 425. Multimedia Systems (3:3:0). Basics of lossless compression algorithms. MPEG compression standards for audio and movie files. Streaming media. The Synchronized Multimedia Integration Language (SMIL). SMIL players and authoring tools. Prerequisite: SWE 318.

EC 426. Advanced Databases (3:3:0). Advanced topics in database systems with emphasis on Web databases, information retrieval, semi-structured data, data warehousing, data mining, distributed databases, and transaction processing. The Extensible Markup Language (XML). Data Type Descriptors (DTDs). Designing information systems using XML. Prerequisite: EC 390 and EC 325.

EC 490. Senior E-Commerce Exhibition (6:1:6). This will require students to design and implement a complete B2C e-business site using a scripting tool such as Allaire's Cold Fusion. The site will implement the functionality of a shopping cart with secure connections, a searchable catalog, and order processing transactions. Intensive work in teams is required. Prerequisite: EC 411, 421; SWE 315, 318. Corequisites: EC 402, 425, 426.



CATALOG INFORMATION
EDUCATIONAL TECHNOLOGY CERTIFICATE

 

Overview

Educational technology is a field of study concerned with communications, media, computer or other electronic technologies as the subject of educational programs, as applied to deliver and administer educational programs, or as used by students to facilitate or enhance their learning. The field is also concerned with systematic methods for developing application systems that have educational purposes.

The educational technology certificate offers IT students a way to earn a certificate that testifies to their ability to design, develop, implement and evaluate distance learning environments that are based on sound instructional design principles. The certificate is an 18-credit program to be completed as an adjunct to a student's regular IT degree program. Because the ET courses can be chosen as electives, many students can get the certificate with a minimal delay of their primary degree. The certificate program can also be made available to any qualified student in the university wishing to gain proficiency in integrating technology into the teaching and learning process.

The ET certificate courses are modularized into 1-, 2-, and 3-credit units that can be offered periodically throughout a semester. All ET certificate students take a common core of 12 credits, including an exhibition, and 6 credits of elective courses. The entire sequence can be completed in four semesters as an adjunct to another degree program.

All students entering the ET certificate program should have a current operational understanding of the computing platforms on which multimedia and hypermedia educational software is based. (These currently include both Macintosh and PC systems and associated hardware.) Students should be knowledgeable in word processing software (Microsoft Word) and presentation software (Powerpoint).

All students in the ET program will complete it with an exhibition in which they demonstrate their skills in multimedia development and technology integration. Students will be advised to begin an electronic (website) portfolio in ET 204 (see below) showing their "best practices" of integrating technology into the teaching and learning process.

CATEGORY
Semester 1
Semester 2
Semester 3
Semester 4

ET Core
(3-credit courses)

ET 201
Basic instructional design

     

ET 202
Instructional technology foundations

     

ET Core
(2-credit courses)

 

ET 203
Introduction to multimedia and hypermedia

 

ET 490
Educational Technology Exhibition

 

ET 204
Introduction to Web-based Instructional Tools

   

ET Electives
(1-credit courses)

   

ET 301
Tools for visual design

 
   

ET 302
Tools for digital video and audio

 
   

ET 303
Project management tools

 

ET Electives
(2-credit courses)

   

ET 304
Authoring tools -- Authorware

ET 401
Advanced web based instructional tools

   

ET 305
Authoring tools -- Toolbook

ET 402
Course management tools

     

ET 403
Scripting and programming

 

Courses


ET Core

ET 201 Basic Instructional Design (3:3:0). Introduction to networking and the Web, and the design, development, and evaluation of instructional materials. Basic knowledge of current networking and telecommunications devices used in instructional design processes: local area networks, telecommunications, and teleconferencing and distance education technologies. Students will be introduced to the systems for accessing, managing, and publishing instructional materials on-line, specifically for the design of Web-based instruction. Fundamental principles of learning theory and instructional strategies relating to instructional design. Lessons from cognitive science. Students will apply the principles of instructional design to develop education and training materials in a variety of knowledge domains and instructional design models.

ET 202: Instructional Technology Foundations and Learning Theory (3:3:0). Psychological foundations of learning and cognition (thought processes and thinking) and applications to designing instructional strategies and supporting technological tools. Overview of learning theory and its relationship to instruction and to instructional technology. Behaviorist principles of learning: learners are regarded as reactive agents and the learning outcome is accomplished through behavior shaping strategies such as extrinsic reinforcement, drill, and practice. Cognitivist principles of learning: where learners are regarded as proactive agents and the learning outcomes are accomplished by mental processes that transform instructional content to usable knowledge. Constructivist principles of learning: where learners are regarded as active agents who construct their own learning by taking ownership of the learning process and becoming self-directed and self-regulated. Examples of learning and teaching strategies, classroom applications, and educational units that model the techniques of those paradigms will be discussed.

ET 203: Introduction to Multimedia and Hypermedia (2:2:0). This course is an overview of multimedia and hypermedia programs and considerations for tools in the instructional process. This course is designed to give students an overview of the issues and tools used within the field of instructional design. The course focuses on the development of skills necessary to implement hypermedia/multimedia ideas into the production process. Students will experiment with tools such as HyperStudio, Hypercard, and Toolbook in order to synthesize media from various sources. Students will also learn how to integrate media into applications such as Powerpoint and Microsoft Word. Prerequisite: ET 201 and ET 202.

ET 204: Introduction to Web-based Instructional Tools (2:2:0). Overview of web page development tools. Students develop design principles and skills for publishing documents on the World Wide Web. They will use a variety of web publishing software programs (e.g., Microsoft Front Page and Macromedia Dreamweaver) and will work with general design principles to develop a series of web pages based on a given theme. This course is structured around exposure to the tools available for publishing documents on the World Wide Web. Prerequisite: ET 201 and ET 202. 


ET Electives

ET 301: Tools for Visual Design (1:1:0). Basic knowledge of the tools available for integrating graphics and visual design into computer based and Web-based instruction. Students will be exposed to the latest tools available for the development, integration, and management of visual and graphic display (e.g., Adobe Photoshop and Macromedia's Fireworks). Prerequisite: ET 203 and IT 210.

ET 302: Tools for Digital Video and Audio (1:1:0). Overview of tools for editing image, audio, and video for multimedia and web-based products. Approach is to explore broad areas rather than the in-depth uses of the software tools under review. The course will address file types and formats, image manipulation, animated GIFs, optical character recognition software, PDF file creation, audio and video capture, editing, and transitions. Software tools will include optical character recognition software, Adobe Acrobat/Capture, screen capture shareware, Paint Shop Pro, Adobe PhotoShop, Adobe Premier and presentation software. Prerequisite: ET 203 and IT 210.

ET 303: Project Management Tools (1:1:0). Basic knowledge of tools for managing multimedia and hypermedia projects. Approach is to explore broad areas rather than the in-depth uses of the software tools under review. Project management and planning (e.g., with Microsoft Project) with application to management of multimedia system development projects. Prerequisite: ET 201.

ET 304: Authoring Tools - Authorware (2:2:0). Laboratory-based introduction to the design of basic learning modules using the Macromedia Authorware program, one of the most used instructional design tools. Architecture of the system. Standard practices of instruction design supported by the system. Use of the system to construct instructional sequences, import video and audio clips, manage resources, and build animations. Students will develop a basic self-directed learning module. Extension of principles of the system to other systems for developing computer based instruction. Prerequisite: ET 201 and ET 203.

ET 305: Authoring Tools - Toolbook (2:2:0). Laboratory-based introduction to object-oriented construction and authoring with Asymetrix's Toolbook Assistant. Architecture of the system. Standard practices of instruction design supported by the system. Use of the system to import and edit graphics, video, and audio clips, to manage resources, to link and embed objects, and to create path-based animations. Brief introduction to basic scripting. Prerequisite: ET 201 and ET 203.

ET 401: Advanced Web-based Instructional Tools (2:2:0). Laboratory-based introduction to advanced systems for designing complex instructional websites. Systems will include HTML editors, FrontPage, and Dreamweaver. Site maps, navigation structures, site usability, integration of localized search engines, forms, thumbnails, rollovers, marquees, server side includes, and other sophisticated Web design components will be introduced. Prerequisite: ET 204.

ET 402: Course Management Tools (2:2:0). Laboratory-based introduction to widely used web-based course management tools such as Blackboard's CourseInfo, WebCT, First Class, and Virtual-U. Prerequisite: ET 204.

ET 403: Scripting and Programming (2:2:0). Programming interactive instructional websites with a scripting language. Programmable functions include: enable graphics to change on mouse-over, validate HTML forms prior to submission, judge and store responses to multiple-choice questions, establish a navigational structure. JavaScript syntax and semantics. Interface between JavaScript and Java and Flash. Prerequisite IT 120.

ET 490: Educational Technology Exhibition (2:2:0). A culminating activity in which students build a Website demonstrative of an electronic portfolio. Website includes: samples of multimedia/hypermedia model projects completed in courses, reflective statements connecting these models and stating their implications on the teaching and learning process, and resources supporting their work. To be taken in final semester of ET certificate program.

 

Download Appendix A - Catalog & Course Descriptions
(Adobe Acrobat required)

Table of Contents -
Overview
Appendix A -
Catalog & Course Descriptions
Appendix B -
Knowledge Areas of the IT Field
Appendix C -
Biosketches