The University of St. Thomas

GPS Course Catalog

   

GPS Course Catalog -- Course Listings and Descriptions

2010 - 2011 Program Catalog (PDF file) 

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  technical course offering Software Project Management
SEIS 626  technical course offering Software Quality Assurance and Quality Control
SEIS 630  technical course offering Database Management Systems and Design

SEIS 635  technical course offering Software Analysis and Design
SEIS 640  technical course offering Operating Systems Design
SEIS 645   Computer and Network Communications
SEIS 650  technical course offering Legal Issues in Technology

SEIS 700  technical course offering Simulations, Mathematical Modeling
SEIS 705  Strategic Information Systems
SEIS 706  Design of an Integrated Corporate Information System
SEIS 707  Enterprise Architecture and Development

SEIS 715  technical course Computer Networking Protocols
SEIS 717  technical course Computer Networking Architecture

SEIS 720  technical course Computer Security
SEIS 721  technical course Advanced Computer Security
SEIS 722  technical course Computer Forensics

SEIS 730  technical course Distributed Database Management
SEIS 731   Information Retrieval
SEIS 732  technical course Data Warehousing
SEIS 733  technical course Database Administration Concepts
SEIS 734  technical course Data Mining

SEIS 740  technical course Real-Time Systems and Applications
SEIS 741  technical course Embedded Microprocessor Design
SEIS 742  technical course Advanced Microprocessor
SEIS 743  technical course Computer Architecture

SEIS 750  technical course Graphics
SEIS 751  technical course Digital Multimedia and Web Application Development
SEIS 752  technical course Advanced Web Application Development
SEIS 755  technical course Human-Computer Interface Design

SEIS 756  technical course Speech Recognition
SEIS 757  technical course Voice Interface Development

SEIS 760  technical course Artificial Intelligence and Knowledge-Based Systems I
SEIS 761  technical course Artificial Intelligence and Knowledge-Based Systems II
SEIS 762  technical course Robotics

SEIS 765  technical course Client-Server

SEIS 770  technical course Object-Oriented Patterns and Architectures
SEIS 771  technical course Advanced Object Concepts and Issues
SEIS 772  technical course Multimedia Information Retrieval

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: none

This is an introductory software development course, with focus on fundamental and foundational concepts. These concepts include general problem solving and algorithm creation techniques, primitive and abstract data types, constants, variables, expressions, Boolean logic, control flow, and object-oriented concepts. To apply the lecture concepts, we will implement software using the Java programming language. In addition, we will discuss fundamental object-oriented concepts, such as classes, interfaces, and objects, instantiation and garbage collection, method implementation, and method invocation.

No previous programming experience in Java, or any other programming language, is required.

 

 

   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.

 


   SEIS 610  Software Engineering

[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; software metrics; project planning including cost estimation; design methodologies including structured design, and object-oriented design; software testing; and software maintenance. 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, 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. Logical database design (Normalization) 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  Software 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 are emphasized. The Unified Modeling Language (UML) is used as a notational system for capturing the development process artifacts. Students will gain experience with a software tool for creating UML diagrams. Other topics include use cases, class discovery and domain modeling, responsibility-driven 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. This course also introduces ideas in functional and parallel programming. Students will work on an object-oriented team project, applying concepts and techniques to describe and create a working 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 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:

  1. Enterprise architecture frameworks: The Zachman Enterprise Framework, The Open Group Architecture Framework (TOGAF) and Enterprise Architecture Cube methodology will be studied. This will help students understand how to define, communicate, implement, and govern enterprise architecture.
  2. Enterprise Service Oriented Architecture (SOA): Define/study what Enterprise SOA is and how it can enable the realization of enterprise architecture. Course covers how to design and implement SOA.
  3. Unique aspects of enterprise architecture and development: covers special considerations in software engineering including requirements engineering and development methodology.

3 Credits
Prereq:
SEIS 610  Software Engineering

 

 

   SEIS 715  Computer Networking 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  Computer Networking Architecture

[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.

 

 

   SEIS 720  Computer Security

[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, building blocks (conventional and public key, digital signatures, certificates, certificate authorities), algorithms, protocols (authentication, key distribution, SSL), biometrics, network security (firewalls, intrusion detection systems, wireless), email protection, malware (viruses, worms, trojans), and applications. This course emphasizes the application security features of the Java programming platform. The human issues include social engineering, user password management, and computer crime. We also cover weekly current events in computer security.

 

 

   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 leveraging directories, wireless network security, firewalls, VPNs, and intrusion detection and prevention systems, and other security technologies. There is significant coverage of application security issues (buffer overrun, SQL injection, cross-site scripting, etc.) 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.

 

 

   SEIS 722  Computer Forensics

[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 (federated databases). As an optional project, students will have the opportunity to design and implement a DDBMS software system 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 with an emphasis on text. The focus is on Internet search engines, and 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.

 

 

   SEIS 732  Data Warehousing

[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 (DBAs) 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, 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 certification course.

 

 

   SEIS 734  Data Mining

[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 (ARM7 Cortex, Blackfin, and Sharc) TI (MSP430,55x, etc), Microchip (PIC),Freescale (RS08, Power Core, M Core, etc ), Atmel (AVR), NXP( ARM9, 8051, etc) 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, accelerometers, 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 Circuit boards. Blackfin circuit boards are also available for the student to use. An introduction to Digital Signal Processing in the time domain will be presented from a firmware engineer’s 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.

 

 

   SEIS 750  Computer Graphics Programming

[3 Credits]

Prerequisite: SEIS 610 

This course will introduce the drawing methods, geometrical transforms, and illumination models that are fundamental to computer graphics programming. Topics covered will include: modeling of 2D and 3D objects, local and global illumination simulations, shading, color models, and texture mapping.

 

 

   SEIS 751  Digital Multimedia and Web Application Development

[3 Credits]

Prerequisite: SEIS 610 

This course provides a comprehensive introduction to the fundamentals of digital multimedia, web design and web application development. Students will learn how to create media rich web applications incorporating video, animation, graphics, sound, and interactivity. They will learn how to use a variety of commercial development tools including Cleaner XL, Photoshop, Flash, Dreamweaver, and Premiere. Students will learn both the technical and design aspects of creating effective web applications. 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, web development, 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.

 

 

   SEIS 756  Speech Recognition

[3 Credits]

Prerequisite: SEIS 610 

This course covers the fundamentals of speech recognition and voice interfacing with machines. Topics include: the need for and advantages of voice interfaces; an introduction to automated speech processing; factors that make voice interfacing difficult; recent applications successes; what determines success or failure; available products and services; models and theoretical concepts in speech recognition; speech articulation and perception processes; digital speech processing and phonetic feature extraction; identifying words from pronunciations; syntax and semantics in speech understanding; task constraints and natural language; alternative speech recognition system structures; getting started in voice interfacing projects; and strategies for achieving user satisfaction.

 

 

   SEIS 757  Voice Interface Development

[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, synthesis, and compressed audio transmission are described, from an end-user’s perspective. Usability engineering methods include: user and task analysis; voice branding and design of system persona; and specifying interface adequacy measures such as call duration, cognitive load on users, menu complexity, and user satisfaction. Human factors principles and voice dialog guidelines are used to design natural and efficient voice dialogs, handle errors, ease prototyping with available products and new software, and tune the system using recognition accuracies and end-user tests. A structured system of 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 focuses on the design of intelligent decision-making software that embodies a high degree of human expert knowledge. This first semester is configured as a comprehensive overview to provide students with a practical understanding of the culture and practice of the Artificial Intelligence and the Semantic Web communities, with emphasis on the methodologies, tools, and techniques that can be used to produce knowledge-based software applications in today's business climate. Particular focus is placed on the various styles and modalities for knowledge acquisition, knowledge representation, and knowledge utilization, with relevant hands-on examples and assignments.

 

 

   SEIS 761  Artificial Intelligence and Knowledge-Based Systems II

[3 Credits]

Prerequisite: SEIS 760

This course is the second section of a 2-semester curriculum sequence that focuses on the design of intelligent decision-making software that embodies a high degree of human expert knowledge. Using the concepts learned in SEIS 760, it is configured to provide to the student a full semester timeframe for planning, designing, and building a knowledge-based system that has relevance to the student’s area of professional interest. The overall course goals are: to allow students to explore the use of knowledge-based software as a legitimate means of problem solving within 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 people are required to be 'computer-literate' to one in which computers (software) can become more 'people-literate'.

 

 

   SEIS 762  Robotics

[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.

 

 

   SEIS 765  Client-Server

[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.

 

 

   SEIS 772  Multimedia Information Retrieval

[3 Credits]

Prerequisite: SEIS 630 and programming experience

Modern hardware can easily collect megabytes of multimedia (audio, images, and video) data in areas like security, medicine, entertainment, and engineering. Many multimedia information systems have been developed to efficiently manage and retrieve useful multimedia data based on its contents, not key words. To achieve content-based multimedia information retrieval, this course will focus on three major areas: First, we will study methods in analyzing multimedia data and extracting useful features (i.e. colors, shapes, motions, fractal dimensionality, etc.) from such data. Next, we will discuss special index structures that enable us to organize and retrieve multimedia data from databases that has content similar to multimedia data in query. Finally, we will also cover multimedia data mining techniques to detect repeated or unusual patterns from huge multimedia data.

 

 

   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.

 

 

   SEIS 778  Internship

[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.

 

 

   SEIS 785 - 789  Topics

Credits: variable
Prerequisites: variable


Current GPS Topics Course Listings and Descriptions


 

   SEIS 790 and SEIS 795  Research, Independent Study

Credits: variable
Prerequisites: variable