Appendix A -
Catalog & 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 |
IT241 |
||||
Science | IT251 Biology Concepts |
IT250 |
||||
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
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.
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 |
CS 400 |
||
CS |
IT 320 |
CS 302 |
CS 430 |
CS 440 |
IT 300 |
IT 310 |
CS 470 |
CS |
|
CS |
CS |
CS |
CS |
|
Business |
IS 300 |
IT 440 |
||
Science |
SCI |
SCI |
||
Humanities | IT 340 Speaking and writing |
HUM elective |
||
Professional Responsibility |
IT 360 |
IT 460 |
||
Exhibition |
CS 390 |
CS 490 |
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.
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 |
CSE 302 Digital Hardware |
CSE 430 |
|
CSE 320 |
|
CSE 420 |
|
|
CSE 311 |
CSE 312 |
CSE 411 |
CSE 499 |
|
CS |
IT 300 |
IT 320 |
|
CS 440 |
|
CS |
CS elective OR |
||
Networks |
IT 310 |
CSE 341 Data Communications |
NE Elective |
NE |
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 |
CS 490 |
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 |
SWE 301 |
SWE 401 |
SWE 422 |
SWE 315 Software Design I |
SWE 316 |
SWE 421 |
SWE Application Area Elective |
|
SWE 316 User Interface Design |
SWE Application Area Elective |
SWE Application Area Elective |
||
SWE Application Area Elective |
||||
Business |
IT 440 |
|||
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 |
IT 460 |
||
Exhibition |
SWE 390 |
SWE 390 Senior software engineering Exhibition 1 |
SWE 390 |
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 |
CS 430 |
||
IT 300 |
|
CS 470 |
|
|
CSE 301 |
CSE 311 |
|||
IT 310 Network Protocols and software |
CSE 341 Data Communications |
NE 441 |
NE 471 |
|
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 |
IT 460 |
||
Exhibition |
NE 390 |
NE 490 |
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 |
IS 310 IS theory & practice |
IS 410 |
IT 440 Project mgt |
IT 300 |
EC 324 |
EC 325 |
|
|
IT 320 |
IT 310 |
IS 420 Physical design with DBMS |
||
CSE 341 Data Communications |
NE 441 |
NE 471 |
||
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 |
IT 460 |
||
Exhibition |
IS 390 |
IS 490 |
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 |
SEC 335 Advanced Cryptographic Protocols |
SEC 455 |
SEC 430 Secure Electronic Commerce |
SEC 309 |
SEC 351 |
SEC 408 |
SEC 451 |
|
|
SEC 358 |
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 |
IT 460 |
||
Exhibition |
SEC 390 |
SEC 490 |
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.
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 |
EC 323 Authentication and Payment Protocols |
EC 421 |
EC 425 Multimedia Systems |
IT 310 |
|
SWE 318 |
EC 426 |
|
EC 324 |
EC 325 |
SWE 315 Software System Design |
||
Humanities | IT 340 Speaking and writing |
HUM elective |
||
Professional Responsibility |
IT 360 |
IT 460 |
||
Exhibition |
SEC 390 |
SEC 490 |
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.
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 |
ET 201 |
|||
ET 202 |
||||
ET Core |
ET 203 |
ET 490 |
||
ET 204 |
||||
ET Electives |
ET 301 |
|||
ET 302 |
||||
ET 303 |
||||
ET Electives |
ET 304 |
ET 401 |
||
ET 305 |
ET 402 |
|||
ET 403 |
Courses
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 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)
Appendix A -
Catalog & Course Descriptions |