
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
Software Project Management
SEIS 626
Software Quality Assurance and Quality Control
SEIS 630
Database Management Systems and Design
SEIS 635
Software 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 705 Strategic Information Systems
SEIS 706 Design of an Integrated Corporate Information System
SEIS 707
Enterprise Architecture and Development
SEIS 715
Computer Networking Protocols
SEIS 717
Computer Networking Architecture
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 Application Development
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 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.
[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:
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.
[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.
[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.
[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.
[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.
[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'.
[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.
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.
[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