
Effective Fall 2007 all GPS courses have been re-numbered.
View CSIS (old) to SEIS (new) course re-numbering table. (PDF file)
View SEIS (new) to CSIS (old) course re-numbering table. (PDF file)
NOTE: Courses with a
symbol indicate a technical course.
SEIS 600 Introduction to Information Technology
SEIS 601 Foundations of Software Development
SEIS 605 Technical Communication
SEIS 610 Software Engineering
SEIS 620 Systems Analysis and Design Tools
SEIS 621 Software Process Management
SEIS 625
Software Project Management
SEIS 626
Software Quality Assurance and Quality Control
SEIS 630
Database Management Systems and Design
SEIS 635
Object-Oriented Application Analysis and Design
SEIS 640
Operating Systems Design
SEIS 645
Computer and Network Communications
SEIS 650
Legal Issues in Technology
SEIS 700
Simulations, Mathematical Modeling
SEIS 701
Bioinformatics: Algorithms
SEIS 702
Bioinformatics: Data Analysis
SEIS 705 Strategic Information Systems
SEIS 706 Design of an Integrated Corporate Information System
SEIS 707
Enterprise Architecture and Development
SEIS 715
Local Area Network and Internetworking Protocols
SEIS 717
Internetworking Architecture and Implementation
SEIS 720
Computer Security
SEIS 721
Advanced Computer Security
SEIS 722
Computer Forensics
SEIS 730
Distributed Database Management
SEIS 731
Information Retrieval
SEIS 732
Data Warehousing
SEIS 733
Database Administration Concepts
SEIS 734
Data Mining
SEIS 740
Real-Time Systems and Applications
SEIS 741
Embedded Microprocessor Design
SEIS 742
Advanced Microprocessor
SEIS 743
Computer Architecture
SEIS 750
Graphics
SEIS 751
Digital Multimedia and Web Design
SEIS 752
Advanced Web Application Development
SEIS 755
Human-Computer Interface Design
SEIS 756
Speech Recognition
SEIS 757
Voice Interface Development
SEIS 760
Artificial Intelligence and Knowledge-Based Systems I
SEIS 761
Artificial Intelligence and Knowledge-Based Systems II
SEIS 762
Robotics
SEIS 765
Client-Server
SEIS 770
Object-Oriented Patterns and Architectures
SEIS 771
Advanced Object Concepts and Issues
SEIS 772
Multimedia Databases
SEIS 776 Project I
SEIS 777 Project II
SEIS 778 Internship/Seminar
SEIS 780-783 Seminars
SEIS 785-788 Topics
SEIS 790/795 Research, Independent Study
SEIS 600 Introduction to Information Technology [3 Credits]
(available for GPS students enrolled in the MS in Software Management program)
[3 Credits]
Prerequisite: none
This course is aimed at business majors who would like to explore the software issues and applications encountered in business environments. The first part of the course covers introductory programming concepts, including some hands on application programming assignments using Visual Basic and web development assignments using PHP. The second part of the course provides insight into software technologies and processes, preparing the business student to interact with information technology organizations and personnel. The processes explored include requirements analysis, design, implementation, testing, and maintenance using waterfall and iterative approaches. The technologies explored include both structured and object-oriented approaches to software development and component-based graphical construction. The third part of the course provides a survey of software applications commonly encountered in the business environment. Examples of these application families include office productivity, Enterprise Resource Planning (ERP), financial, inventory, Customer Relationship Management (CRM), Business-to-Business (B2B), Business-to-Employee (B2E), and Business-to-Consumer (B2C).
SEIS 601 Foundations of Software Development
[3 Credits]
Prerequisite: Programming experience
The primary objective of this course is to provide the experienced programmer with
knowledge of and experience with fundamental data structures and algorithms used in
software design and development. The secondary objective is to give a fast-paced introduction to the Java programming language. Students will write multiple programs in Java, both to become familiar with Java and to apply data structure concepts.
SEIS 605 Technical Communication
[3 Credits]
Prerequisite: none
Teaches the fundamentals of written and oral communication as practiced by IT professionals. The course emphasizes product descriptions, instructions, informative and persuasive oral presentations, the role of graphics, and teamwork on projects. In addition, the course introduces managerial strategies and tactics, such as planning and evaluation, which are critical for meeting an intended audience's needs. Recently, the scope of this course was expanded to include communication issues related to business analysis and project management. After completing this course, students will be more confident about their ability to communicate effectively in the workplace.
[3 Credits]
Prerequisite: SEIS 601 (waived for appropriate programming experience)
This is a survey course covering software engineering concepts, techniques, and methodologies. Topics covered include software engineering; software process and its difficulties; software life-cycle models; project planning including cost estimation; design methodologies including structured design, data-structure oriented design, object-oriented design; and software testing. A brief review of data structures is included.
SEIS 620 Systems Analysis and Design Tools (for MSS students only)
[3 Credits]
Prerequisite: SEIS 610
This course serves the purpose of establishing necessary background and vocabulary for systems analysis and design. Coverage includes data modeling, process modeling, control modeling, and techniques for architectural design such as structure charts. Automated software tools are used to illustrate these methods.
SEIS 621 Software Process Management (for MSS students only)
[3 Credits]
Prerequisite: SEIS 620
This course looks at management of each phase of the software lifecycle process from initial requirements analysis to maintenance and support, as well as project management of the entire lifecycle. The purpose is to give students the skills to produce deliverables required of each phase, and to manage an entire project. Project management issues such as scheduling and estimation are discussed, and quality management including test planning and design is a major focus. (If credit is received for this course, students cannot receive credit for SEIS 625 or SEIS 626. Exceptions require the prior approval of the GPS director.)
SEIS 625 Software Project Management ![]()
(not available for MSS students)
[3 Credits ]
Prerequisite: SEIS 610
Students gain a management perspective and a development process for planning, estimating, and controlling software development. They learn to develop a well-defined plan before beginning any software development effort; how to handle changes during the execution of the plan; how to incorporate quality criteria in the development cycle; and how to use methods to keep the project on track. Included in the course is the use of project management software and simulation software in the development and control of the project plan.(If credit is received for this course students cannot receive credit for SEIS 621.)
SEIS 626 Software Quality Assurance/Quality Control ![]()
(not available for MSS students)
[3 Credits]
Prerequisite: SEIS 625 (= CSIS 600)
This course builds on the project management process through the application of Software Quality Engineering concepts (Quality Assurance, Control and Testing). Students will work through a semester project in which they will think like a Software Quality Engineer. Practical tools and techniques will be applied toward the management and improvement of the quality of a software product and the development process. (If credit is received for this course, students cannot receive credit for SEIS 621.)
SEIS 630 Database Management Systems and Design ![]()
[3 Credits]
Prerequisite: SEIS 610
This course focuses on database management system concepts as well as database design and implementation. Conceptual data modeling using Entity Relationship (ER) is used to capture the requirements of a database design. Relational model concepts are introduced and mapping from ER to relational model is discussed. Physical database design and indexing strategies are also discussed to aide in system performance. Relational Algebra and Structured Query Language (SQL) are used to work with a database. From a system perspective, the course focuses on query optimization and execution strategies, concurrency control, locking, deadlocks and database back up and recovery concepts. Database security and authorization are also discussed. Students will use Oracle and/or SQL Server to design a database and complete an application using SQL as their project.
SEIS 635 Object-Oriented Application Analysis & Design ![]()
[3 Credits ]
Prerequisite: SEIS 610 and Java programming experience
This course covers basic object-oriented techniques for specifying, designing, and implementing software systems. Iterative development methodologies such as the Unified Process are emphasized. The Unified Modeling Language (UML) is used as a notational system for capturing the results of such development. Core diagrams of UML are used, and students will gain experience with a software tool for creating them. Other topics include use cases, class discovery and domain modeling, responsibility-centered design, basic design patterns, software class design, converting designs to code, object-oriented testing, packaging, deployment, along with intermediate Java topics relevant to system implementation. Students will work on an object-oriented team project, applying appropriate object-oriented concepts and techniques to describe and create a working object-oriented software system.
SEIS 640 Operating Systems Design ![]()
[3 Credits]
Prerequisite: SEIS 610
An introduction to the concepts and principles involved in operating systems design is provided. Topics in the course include computer-system structures, operating-systems structures, job and process scheduling, process synchronization, deadlock, memory management, virtual memory, file systems, input/output systems, distributed system structures, distributed file systems, protection, system security, and case studies of operating systems.
SEIS 645 Computer and Network Communications ![]()
[3 Credits]
Prerequisite: SEIS 610
This course is intended to provide a general and basic understanding of the important concepts in the field of voice, data, and computer communications and their use in organizations. It focuses on different technologies that make up the world’s communications networks and gives an understanding of their vernacular. The main areas covered are telephony services, OSI and TCP/IP, LANs and WANs, ISDN, ATM and other topics of current interest. The primary objective of the course is to familiarize students with these concepts and technologies and their applications at a general level.
SEIS 650 Legal Issues in Technology ![]()
[3 Credits]
Prerequisite: SEIS 610
The ability to identify legal issues being raised by computer technology and guidelines for their solution is a continuing requirement for competence in the field of software design and development. Consequently, the students are provided with an examination of a broad range of legal issues in technology including patent law, copyright law, trade secrets, trademarks, contracts, ownership issues in software development, and computer failures and related torts.
SEIS 700 Simulations, Mathematical Modeling ![]()
[3 Credits]
Prerequisite: Calculus
In this course students will learn how to build artificial neural networks to model pattern recognition systems, how to build fuzzy logic decision making and control systems for situations that do not have a precise mathematical description, and how to model stochastic systems (systems based on random events). Applications in the areas of bioinformatics, forecasting, control systems, and other areas (e.g. handwriting recognition) will be presented. The Monte Carlo simulation technique will be presented to illustrate how to solve problems in stochastic systems with basic programming skills rather than complicated mathematical analysis. Calculus proficiency is not essential. The focus is understanding and using the modeling techniques in a hands-on approach.
SEIS 701 Bioinformatics: Algorithms ![]()
[3 Credits]
Prerequisite: SEIS 610
This course introduces students to Bioinformatics through the presentation of current algorithms used in computational molecular biology. The following topics will be discussed: introduction to molecular biology (for computer scientists); restriction maps; cloning and clone libraries; physical genome maps; sequencing and base calling; assembly; sequence analysis; sequence alignment algorithms; multiple sequence alignment; probability and statistics for sequence alignment; gene finding techniques.
SEIS 702 Bioinformatics: Data Analysis ![]()
[3 Credits]
Prerequisite: SEIS 610
The specific goal of this course is to allow a microarray user to be in a position to make an informed choice as to what data analysis technique to use in a given situation. The existing software packages usually include a very large number of techniques which in turn use an even larger number of parameters. Thus an operator trying to analyze DNA microarray data is confronted with an overwhelming number of parameters. The course will address this issue by emphasizing at a high level of abstraction the characteristics of various techniques in a biological context. Topics from the course include: What are microarrays and why are they important? Image processing of microarray data; Elements of statistics with application to gene expression data (Analysis of Variance - ANOVA and Experimental Design applications to gene expression data); Multiple comparisons - application to expression data from cancer patients; analysis and visualization tools; Cluster analysis (distance metrics and algorithms); Data pre-processing and normalization; methods for selecting differentially regulated genes; functional analysis and biological interpretation of microarray data; software applications for gene expression analysis.
SEIS 705 Strategic Information Systems
[3 Credits]
Prerequisite: SEIS 610
This course will analyze the six key strategic thrusts for IT and the enterprise: differentiation, cost, innovation, growth, alliance, and time. This course is strategic in nature and students will conduct their own personal strategic plan plus assess how an IT function’s strategic thrust aligns with the strategic thinking of an actual firm. We will also discuss the role of leadership within an organization.
SEIS 706 Design of an Integrated Corporate Information System
[3 Credits]
Prerequisite: Familiarity with elementary accounting principles
Students acquire an understanding of the flow of information (forecasts, financial, accounting and operational data) within an organization and the factors that should be considered in designing an integrated corporate information system. This includes all systems in the business cycle from revenue forecasts and production planning to inventory, accounts payable, sales, accounts receivable, payroll, general ledger and report generation. Specifications for some of these systems are developed.
SEIS 707 Enterprise Architecture and Development ![]()
Enterprise applications that are used within an enterprise or across multiple enterprises. Deployment of enterprise applications in the context of an enterprise architecture have been helping companies to transform from an application landscape with many stove-pipe applications to one that enables them to have a 360 degree view of critical enterprise data (e.g. customer data), create and reuse enterprise assets, reduce redundancy and duplication of efforts across the enterprise, and make integration across the enterprise possible. This course covers both enterprise architecture and enterprise application development. This course will provide students with a theoretical and practical understanding of the subject areas plus technical and business opportunities and industry trends.
This course will cover:
3 Credits
Prereq: SEIS 610 Software Engineering
SEIS 715 Local Area Network and Internetworking Protocols ![]()
[3 Credits]
Prerequisite: SEIS 645
This course explores local area networking (LAN) and Internet architecture and protocols, with emphasis on Ethernet and TCP/IP, and OSI layers 3, 4 and 5. We study protocol details, the way they relate and interact with each other, and how they are applied in real systems. Applications such as Virtual Private Networks and Voice over IP, and technologies such as wireless networking and IPsec are also covered. LAN communication building blocks such as hubs, bridges, switches, routers, and their interconnection and addressing issues are studied in detail. Real network packet traces are used to highlight the differences between the textbook descriptions of these protocols and real world behavior.
SEIS 717 Internetworking Architecture and Implementation ![]()
[3 Credits]
Prerequisite: SEIS 645 or consent of the instructor
This course should be taken as a follow-on to SEIS 716. In this course, students will learn the internetworking architecture, the routing protocols, network design methodology, and network implementation. The course will examine current network impact of emerging technologies such as VoIP or label switching MPLS. The course will discuss network equipment available and used today such as bridge, router, layer-2 and layer-3 switches and the routing protocols such as IGRP, BGP and label switching. Real-life case studies will be discussed and hands-on research projects will be required.
[3 Credits]
Prerequisites: SEIS 610 and Java programming experience required; SEIS 640 and SEIS 645 recommended
This course covers both the engineering and human issues in computer security and the tension between them. The engineering issues include cryptography concepts, algorithms, and applications (conventional and public key, digital signatures and certificates, certificate authorities), protocols (authentication, key distribution, Kerberos), biometrics, network security (including wireless), email protection, viruses, worms, Trojans, firewalls, and intrusion detection. There will be special emphasis on the application security features of the Java programming platform. The human issues include social engineering, user password management, and computer crime.
SEIS 721 Advanced Computer Security ![]()
[3 Credits]
Prerequisites: SEIS 720, SEIS 645 and SEIS 635 required; SEIS 640 recommended
This course is the next step beyond the prerequisite course, Computer Security. Given the security concepts and building blocks developed in the former course, this course both explores these previous topics in greater depth and covers additional topics. Topics will include advanced cryptography, single sign on using directories, wireless network security, firewalls, VPNs, and intrusion detection and prevention systems, and other security technologies. There is special emphasis on application security issues as well. In addition, this course utilizes a computer security lab for hands-on exercises that reinforce the material and covers weekly current events in computer security.
[3 Credits]
Prerequisite: SEIS 610
This course explores the issues surrounding computers that have been used in connection with criminal or other improper activity, or that have been the direct target of a crime. While the focus of this course is on the computer science issues, the law enforcement perspective is also covered. Topics include disk file system structures (hiding and recovery techniques), networking and email considerations, forensic data collection, evidence preservation and authentication, collection and analysis tools, legal, and privacy issues.
SEIS 730 Distributed Database Management ![]()
[3 Credits]
Prerequisite: SEIS 630 [Experience with Java helpful with programming project.]
This course focuses on the architecture, concepts, design and implementation of Distributed Database Management Systems (DDBMS). Students will learn DDBMS system issues such as distributed semantic integrity, distributed transaction execution, distributed concurrency control, distributed locking/deadlock detection schemes, distributed transaction commit and distributed database recovery. Students will also learn the issues involved in integrating data across different database management systems from different vendors. As their project, students will have the opportunity to design and implement a DDBMS software system (in Java or any language they choose) that allows a distributed query, update, delete or a distributed insert on a combination of databases from Oracle and Microsoft systems across the network. Students will also have the option to perform research to study and analyze a commercial distributed DBMS instead of developing their own systems.
SEIS 731 Information Retrieval ![]()
[3 Credits]
Prerequisites: SEIS 610; recommended SEIS 630
This course presents an overview of the theory and design of information retrieval systems for unformatted data such as text and multimedia data. While the focus is on Internet search engines, they are discussed in the context of earlier fixed collection systems. We explore both the Boolean and ranked vector space models of retrieval, as well as variants used in both research and commercial systems. We also discuss a variety of text processing techniques and algorithms, such as parsing, stemming, compression, and string searching. Information retrieval is also a great case study for broader issues in building systems that scale and perform, so we also discuss associated issues in data structures, algorithms, computational complexity, and measurement. Students will also build a mini search engine.
[3 Credits]
Prerequisite: SEIS 630
In order to build and maintain a successful data warehouse, it is important to understand all of its components and how they fit together. This course will cover data warehouse and data mart lifecycle phases while focusing on infrastructure, design, and management issues. The course project will provide an opportunity to for hands-on experience with some of the available tools and technologies. Topics include: differences between data warehouses and traditional database systems (OLTP), multidimensional analysis and design, building data warehouses using "cube" vs. RDBMS (Star schema, etc.), planning for data warehouses, extraction transformation and loading (ETL), online analytical processing (OLAP), data mining, quality and cleansing, common pitfalls to avoid when designing, implementing and maintaining data warehouse environments, and the impact of new technologies (data webhouse, clickstream, XML).
SEIS 733 Database Administration Concepts ![]()
[3 Credits]
Prerequisite: SEIS 630
Database Administrators (DBA's) have to perform multiple functions within an organization. This class focuses on the issues that database administrators have to deal with in their everyday professional life. Responsibilities of a DBA are broken down by functions and each function is studied. These include: database system planning, database system installation and upgrading, database design (conceptual, logical, and physical), normalization (de-normalization), database loading and unloading, database change management, data availability, database security and access management, performance management (query processing, indexing, physical space planning, etc.), system performance, data integrity, data and storage management, data migration, data movement and distribution, database connectivity, distribution of data, fault tolerance (back ups and recovery) and disaster recovery planning. Students will use SQL Server and Oracle to design, implement and administer their databases using these two commercial products. Although the course uses examples of these two product functions, it is not a SQL Server or Oracle DBA course.
[3 Credits]
Prerequisite: SEIS 630; and programming experience
Modern hardware can easily collect megabytes of data from various sources within a short period of time. This explosive growth in data has overwhelmed analysts for years. To overcome the problem of information overloading, data mining has emerged as a major frontier. Data mining is automated extraction of regularities and patterns representing previously unknown knowledge implicitly stored in large databases, data warehouses, and other massive information repositories. In this course, we will discuss suitable data models, data preparation, and finally- different methods and algorithms to discover new knowledge from raw data. Major topics include: (1) Data warehousing and data cleansing, (2) Decision tree classification and customer behavior prediction, (3) Data clustering, (4) Association rule and market basket analysis, (5) Temporal sequence and spatial trend analysis, (6) Data mining tools and frameworks, (7) Inductive and analytical learning, (8) Genetic algorithms and programming. This course is ideal for anyone who needs to learn how to analyze raw data to maximize strategic planning, marketing power, and bottom-line success.
SEIS 740 Real-Time Systems and Applications ![]()
[3 Credits]
Prerequisite: SEIS 610
The students receive an introduction to real-time systems, including, real-time operating systems, real-time scheduling and concurrency control, reliability and fault tolerance in real-time systems, real-time communication and clock synchronization, and real-time system design methodology and pitfalls.
SEIS 741 Embedded Microprocessor Design ![]()
[3 Credits]
Prerequisite: SEIS 610
This course will introduce the concepts of embedded processor design. An overview of the most popular embedded processors such as the ARM, Analog Devices (ARM, Blackfin) TI (MSP430), PIC (Microchip) and Freescale (HC11 and Power Core, M Core ) will be covered. The strengths and weaknesses of each family of processors and where they are used will also be covered. The use of assemblers and simulators, A/D, D/A converters, signal synthesizers, and serial communication interfaces will be covered in detail. The students will be have lab time with ARM Circuitboards. Blackfin circuitboards are also available for the student to use. An introduction to Digital Signal Processing in the time domain will be presented from a firmware engineers perspective, (time domain with no calculus).
SEIS 742 Advanced Microprocessor ![]()
[3 Credits]
Prereq: SEIS 741 or permission of instructor
This course covers the architecture of the most recently developed microprocessors such as the Blackfin processor from Analog Devices along with state of the art development tools. The student will learn advanced embedded design through several biomedical applications. Exposure to industrial and robotic applications will also be covered. The class has an emphasis on biomedical firmware applications. The students will design and code a biomedical project using the Blackfin processor BF533 circuit boards. Complex peripherals such as MEM's gyroscopes, Sigma Delta Converters and smart sensors will be covered and how to implement them into systems. The project provides hands-on experience in designing and developing microprocessor-based systems using the Blackfin BF533 microprocessor and its state of the art development tools. This processor was jointly developed by Intel and Analog Devices and is the most advanced and efficient fixed point architecture available today.
SEIS 743 Computer Architecture ![]()
[3 Credits]
Prerequisite: SEIS 610
Computers have changed fundamentally during recent years. The performance of software systems is dramatically affected by how well software designers understand the basic hardware techniques at work in a system. The objective of this course is to provide a firm grounding in principles and techniques to all software engineers including compiler writers, operating systems designers, database programmers, and real-time systems programmers. The course will show relationship between hardware and software and will focus on the concepts that are the basis for modern computers. This course will cover performance issues, instruction set design, processor implementation techniques, pipelining, parallel processing, vector processing, and memory hierarchy including cache memory, input/output factors, RISC architecture, and multiprocessors.
[3 Credits]
Prerequisite: SEIS 610
The subject of computer graphics is introduced in this course. There is a discussion of hardware, software and graphics standards. Commercial software is introduced for the benefit of end users and applications programmers. Fundamental algorithms and techniques for rendering, picture transformation, and graphical input are presented. If time permits, topics such as animation and human interface will be discussed.
SEIS 751 Digital Multimedia and Web Design ![]()
[3 Credits]
Prerequisite: SEIS 610
This course provides a comprehensive introduction to the fundamentals of digital multimedia and web design. Students will learn how to create media rich web sites incorporating video, animation, graphics, sound, and interactivity. They will learn how to use a variety of commercial development tools including Photoshop, Flash, Dreamweaver, Premiere, and Final Cut Pro. Students will learn both the technical and design aspects of creating effective web sites. The course culminates in a final project that brings together elements of design and technology into a functioning web application. This is an introductory course and no prior knowledge or experience of web design, digital media or graphic design is required.
SEIS 752 Advanced Web Application Development ![]()
[3 Credits]
Prerequisite: SEIS 751
This course covers advanced and cutting-edge technologies used in developing database-driven Web based applications. The course will concentrate on key client-side and server-side technologies that are essential for dynamic content generation and interactivity. These techniques are characteristic of the Web 2.0 paradigm, and are exemplified by rich media, responsive interfaces, a high degree of online collaboration among users, and the ability for users to create their own content and to share it with others. Related technologies will be covered, including streaming media technologies, deployment of Web applications, architectural patterns such as Model-View-Controller (MVC), Web development paradigms such as AJAX, Web services, and open-source application frameworks. To meet the goals of the course, students will design and implement a database driven Web based application using technologies learned in this course.
SEIS 755 Human-Computer Interface Design ![]()
[3 Credits]
Prerequisite: SEIS 610
This course begins by providing an overview of human-computer interaction and then concentrates on practical guidelines, strategies and methodologies for designing successful user interfaces. An approach to development, referred to as "user-centered design," is presented. The future of human-computer interaction is also addressed. Students learn how to analyze user needs and goals, and how to use them as driving forces throughout the design and development of a user interface for an application of their choice.
[3 Credits]
Prerequisite: SEIS 610
This course covers the fundamentals of speech recognition and voice interfacing. The topics covered will include: the need for voice interfaces; an introduction to automated voice interfaces; why voice interfaces are used; why voice input is difficult; recent applications successes; what determines success or failure; models and theoretical concepts in speech recognition; speech communications processes; digital speech processing and phonetic feature extraction; identifying words from pronunciations; syntax, semantics, task constraints and natural language; alternative speech recognition system structures; getting started in voice interfacing projects; and strategy for achieving user satisfaction.
SEIS 757 Developing Voice Interface ![]()
[3 Credits]
Prerequisite: SEIS 610
A systematic user-centered strategy for voice interface design is introduced and applied to several representative PC, industrial, Web, and telecommunications applications. Speech technologies like recognition and synthesis are described, from an end-user’s perspective. Usability engineering methods are introduced for doing user and task analysis, specifying adequacy measures for the interface, applying human factors and voice dialog guidelines, designing natural and efficient voice dialogs, handling errors, prototyping with available products and new software, and obtaining end-user tests. Guidelines and detailed rules for assuring user satisfaction and best use of voice capabilities will be examined. Integrating voice with other input and output modalities will be explored.
SEIS 760 Artificial Intelligence and Knowledge-Based Systems I ![]()
[3 Credits]
Prerequisite: SEIS 610
This course is the first section of a 2-semester curriculum sequence that can be called 'Knowledge-Enriched Software Design'. This first semester is designed to provide students with a practical understanding of the culture and practice of the Artificial Intelligence community, with emphasis on the methodologies, tools, and techniques that can be used to produce knowledge based software applications in today's business climate.
SEIS 761 Artificial Intelligence and Knowledge-Based Systems II ![]()
[3 Credits]
Prerequisite: SEIS 760
This course is designed to focus on specific student projects that have relevance to their areas of professional interest. The curriculum goals are: to allow students to explore the methodology and practice of designing software systems that incorporate human knowledge as a primary means of problem solving within a wide range of business domains; to allow students to experience a user/problem-solver level of abstraction above what is common in traditional business analysis and software practice; to present the vision of moving from a paradigm where we require people to be 'computer-literate' to one in which computers (software) can become more 'people-literate'.
[3 Credits]
Prerequisite: SEIS 610
The purpose of this course is to give practical understanding of robotics and the software issues involved in Robotic Software Architectures. Students will examine issues related to historical architectures, biological models, situated cognition, emergent behaviors, as well as hierarchical, reactive, and agent paradigms. Part of the class time will include project time in which students will design and build various examples of robotic architectures.
[3 Credits]
Prerequisite: SEIS 630 and SEIS 635
An overview of client-server concepts in enterprise computing environments is presented, including data communication, network operating systems, distributed objects and client-server databases. Client-server is the most popular paradigm to solve the problems of availability, reliability, scalability, security and complexity. Frameworks for client-server computing with distributed objects such as CORBA, COM, Java RMI, J2EE and Microsoft .NET will be examined.
SEIS 770 Object-Oriented Patterns and Architectures ![]()
[3 Credits]
Prerequisite: SEIS 635
This course introduces students to using object-oriented architecture and design patterns in the development of high quality, reliable software systems. Patterns and architectures can have a significant effect on the time to deliver, maintainability and quality of systems. Current object-oriented development methods and tools will be used to describe and implement software designs that are based on patterns. Students will learn the abstraction skills required to discover, document, and employ new patterns and architectures. Java will be used.
SEIS 771 Advanced Object Concepts and Issues ![]()
3 Credits
Prerequisite: SEIS 635; SEIS 770 highly recommended
This course gives students first-hand experience in applying object-oriented software development best practices in a realistic software development environment. In the process of doing this, students learn and apply advanced object-oriented software development concepts and approaches including agile software development processes, pattern-based design and development, refactoring to maintain system design quality, distributed object computing in an enterprise level software architecture environment, and the use of relational database management systems by object-oriented systems.
[3 Credits]
Prerequisite: SEIS 630 and programming experience
The aim of this course is to give in-depth understanding of various techniques used in modern multimedia database systems. Each student will practice these techniques by building a multimedia database of their own. Three major portions of this course include: (1) Using programming tools to analyze multimedia data and to retrieve useful features (i.e. colors, shapes, objects, motions, etc.) from such data. (2) Passing those retrieved features to the Versant Object Database to create efficient multimedia index structures. (3) Searching those index structures to retrieve multimedia data that is relevant to users’ queries.
SEIS 776 Project I
Available to only MS and MSDD students
[3 Credits]
Prerequisite: SEIS 625
All MS and MSDD Students may choose to register for SEIS 776-777 and complete a research or software development project under the supervision of a full-time GPS faculty member. Students cannot receive credit for SEIS 776 without completing SEIS 777.
SEIS 777 Project II
Available to only MS and MSDD students
[3 Credits]
Prerequisite: SEIS 776
All MS and MSDD Students may choose to register for SEIS 776-777 and complete a research or software development project under the supervision of a full-time GPS faculty member. Students cannot receive credit for SEIS 777 without completing the prerequisite SEIS 776.
[1 Credit]
Prerequisite: variable
These internships are for students who do not have two years of software development experience prior to entering the program. These courses may be taken by MSS students, but will not count as part of the degree requirements.
SEIS 780 - 783 Seminars
(Not available for MSS students)
Credits: variable
Prerequisites: variable
Students may take a seminar in lieu of an elective. Seminars are designed to provide the student with in-depth topical knowledge and expertise for a subject area of interest to a faculty member or a group of Graduate Programs in Software students.
Credits: variable
Prerequisites: variable
Current GPS Topics Course Listings and Descriptions
SEIS 790 and SEIS 795 Research, Independent Study
Credits: variable
Prerequisites: variable