The University of St. Thomas

Graduate Programs in Software

Course Catalog

Course Catalog

   

GPS Course Catalog -- Course Listings and Descriptions

NOTE: Courses with a symbol indicate a technical course.

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 631  technical course offering Foundations of Data Analysis
SEIS 635  technical course offering Software Analysis and Design
SEIS 636  technical course offering Requirements Analysis

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

SEIS 660  technical course offering Information Technology Infrastructure 
SEIS 661  technical course offering Information Technology Security 
SEIS 662  technical course offering Enterprise Resource Planning 
 
SEIS 705  Strategic Information Systems
SEIS 707  Enterprise Architecture and Development
SEIS 708  technical course offering Software Architecture 

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 735  technical course offering Healthcare Informatics 
SEIS 736  technical course offering Big Data Architecture 
SEIS 737  technical course offering Big Data Management 
SEIS 738  technical course offering Data Science 

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 Computer Graphics Programming
SEIS 751  technical course Web Application Design and Development
SEIS 752  technical course Advanced Web Application Development
SEIS 755  technical course Human-Computer Interface Design

SEIS 763  technical course Machine Learning

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 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 631 Foundations of Data Analysis

[3 Credits]

Prerequisite: SEIS 601 Foundations of Software Development

This course provides a broad introduction to the subject of data analysis by introducing common techniques that are essential for analyzing and deriving meaningful information from datasets. In particular, the course will focus on relevant methods for performing data collection, representation, transformation, and data-driven decision making. Students will also develop proficiency in the widely used R language which will be used throughout the course to reinforce the topics covered.

 

 

   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 636  Requirements Analysis

[3 Credits ]

Prerequisite: SEIS 610

The objective of this course is to introduce the business analyst roles and responsibilities and knowledge areas such as enterprise analysis, requirements planning and measurement, requirements elicitation, requirements communication, requirements analysis and documentation, solution assessment and validation, business analysis fundamentals including tools and techniques.

 

 

   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 660  Information Technology Infrastructure

[3 Credits]

Prerequisite: SEIS 610

This course will cover several topics related to IT infrastructure. The course will cover Information Technology Infrastructure Library (ITIL) which is the most widely adopted approach for IT Service Management. It provides a practical framework for identifying, planning, delivering and supporting IT services to the business.

 

 

   SEIS 661  Information Technology Security

[3 Credits]

Prerequisite: SEIS 610

This course will cover both the technical and human issues in information technology security and the tension between them. The technical issues include cryptography, authentication, authorization, physical security, network security (firewalls, intrusion detection), application security (software and database), disaster recovery, social engineering and other human factors, and security regulations.

 

 

   SEIS 662  Enterprise Resource Planning

[3 Credits]

Prerequisite: SEIS 610

This course will provide a practical overview of Enterprise Resource Planning, connecting the academic and even marketing elements with real-world, case-based issues as encountered by business and other organizations. ERP has become a critical strategic consideration for many companies, and the course will look at best-practice implementations at leading companies internationally. Course will examine best practice usage of ERP in a global distributed computing environment. In addition, it will look into trends relating to critical issues such as Cloud and Big Data. Professionals currently working in the IT organizations or future IT professionals will benefit from this course.

 

 

   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 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 708  Software Architecture

[3 Credits]

Prerequisite: SEIS 610

Software systems continue to increase in size and complexity. Importance of design and specifications of these complex systems is becoming more critical for all kinds of organizations. This course introduces the concepts and best practices of software architecture -- how a software system is structured and how system’s elements are meant to interact. Distinct from the details of implementation, algorithm, and data representation, architecture holds the keys in archiving system quality, providing flexibility and adaptability in changing markets, allowing interoperability with other players in the marketplace, helping in reducing maintenance costs and amortize development costs, assisting in workforce organization and with project oversight and control, establishing a common corporate vocabulary, and shortening learning time.

Students will learn how to recognize, describe, and use major architecture styles of software systems, how to justify choices among architecture design alternatives, and how to create, specify, document, analyze, and evaluate software architecture designs.

 

 

   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

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 735  Healthcare Informatics

[3 Credits]

Prerequisites: SEIS 630

Healthcare is broadly defined as any care (prevention, treatment) and service management related to the health of an individual. Providing high quality care that is safe and effective to patients is increasingly difficult due to rapid growth of medical knowledge and escalating cost of new treatments.

This course will discuss topics in informatics that are used for acquisition, storage, retrieval, management, and integration of heterogeneous healthcare data. This course will examine (1) numeric data from CDC, FDA, and WHO, (2) formal text from National Library of Medicine, (3) free text and charts from sample patient records and clinic reports, (4) different types of medical images. We will also discuss data mining and text mining approaches to discover patterns and derive new hypotheses from the above datasets.

 

 

   SEIS 736 Big Data Architecture

[3 Credits]

Prerequisities: SEIS 601  (waived for appropriate programming experience) and SEIS 630

This course covers emerging big data architectures, predominately Hadoop and related technologies that deal with large amounts of unstructured and semi-structured data.   Topics include operating system, architecture, security, big data structure and storage.  The primary applications discussed in this class focus on information retrieval, specifically 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 discuss associated issues in data structures, algorithms, computational complexity, and measurement.

 

 

   SEIS 737 Big Data Management

[3 Credits]

Prerequisities: SEIS 601 (or familiarity with Java strongly recommended) and SEIS 630 is required. 

This course covers the technical concepts of managing vast amount of unstructured, semi-structured and structured data, collectively called “Big Data”. Due to the sheer volume of Big Data, traditional approaches to managing databases does not work well for Big data and does not perform as expected. A distributed architecture for both the file system and the operating system is needed. Some of the techniques used in managing Big Data have the origins in the research and the developments that have been going on for decades in the area of parallel processing and distributed database management systems.

This course focuses on why big data sets must be distributed and the issues that distribution introduces. The basic concepts on which distributed data sets are handled are discussed first. Once a foundation is defined, software tools that we use to work with big data sets are studied to provide an in-depth analysis of the concepts introduced.

Specifically, we will study the issues distributed data design, data fragmentation, data replication, distributed fault tolerance/recovery. We will also study the use of Hadoop, Pig, Hive, and HBase in dealing big data sets and use real life examples of how these open source software are used.

 

 

   SEIS 738 Data Science

[3 Credits]

Prerequisities: SEIS 736  or SEIS 737

The course provides a comprehensive introduction to concepts and techniques used in the emerging field of Data Science by integrating topics from a number of areas such as statistical data analysis, machine learning, large-scale data management, and visual analytics. Topics include inferential statistics for exploratory data analysis, building a recommender system, predictive analytics, pattern discovery, and Big Data visualization. Through practical application of the above topics, students will develop proficiency in analytics tools such as R, Apache Mahout, SAS Enterprise Miner, and Tableau.

 

 

   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  Web Application Design and Development

[3 Credits]

Prerequisite: SEIS 610 

This course introduces the fundamentals of web application design and development using open standards. Students will learn how to create interactive database-driven media rich web applications. Students will learn both the technical and design aspects of creating effective web applications using a variety of technologies and development tools (mostly open source tools where appropriate).
The course culminates in a term 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 or web development 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 763  Machine Learning

[3 Credits]

Prerequisite: SEIS 631 Foundations of Data Analysis

Machine Learning deals with the question of building better computational systems that learn from and adapt to the data presented to them. Over the years, machine learning techniques have been successfully applied in diverse domains such as engineering, medicine, finance, and commerce. The course will present an in-depth coverage of the theoretical underpinnings while providing a hands-on experience in implementing the machine learning techniques. Some of the topics include regression based prediction, classification approaches, dimensionality reduction, and anomaly detection. Additionally, the students will also learn to evaluate and avoid common pitfalls in applying machine learning to a given problem.

 

 

   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


The University of St. Thomas is registered as a private institution with the Minnesota Office of Higher Education pursuant to sections 136A.61 to 136A.71. Registration is not an endorsement of the institution. Credits earned at the institution may not transfer to all other institutions.