gradsoftware

GPS Course Listings and Descriptions

Effective Fall 2007 all GPS courses will be re-numbered.
View Course re-numbering map. (View CSIS to SEIS conversion table.)

NOTE: Courses with a "T" in the course number indicate a technical course.

CSIS500 - Technical Communications
CSIS505 - Introduction to Information Technology
CSIS510 - Software Engineering
CSIS512 - Foundations of Software Development
CSIS524 - Systems Analysis and Design Tools

CSIS526 - Software Process Management
CSIS530T - Database Management Systems and Design
CSIS532T - Distributed Database Management
CSIS533T - Human-Computer Interface Design

CSIS534T - Speech Recognition
CSIS535T - Information Retrieval
CSIS536T - Data Mining
CSIS537T - Developing Voice Interface

CSIS538T - Database Administration Concepts
CSIS539T - Data Warehousing

CSIS541T - Fundamentals of Objects (course no longer offered)
CSIS543T - Object-Oriented Application Analysis and Design
CSIS544T - Object-Oriented Multimedia Databases
CSIS545T - Object-Oriented Patterns and Architectures
CSIS546T - Advanced Object Concepts and Issues

CSIS550T - Legal Issues in Technology
CSIS560T - Computer Security
CSIS561T - Advanced Computer Security
CSIS562T - Computer Forensics

CSIS600T - Software Project Management
CSIS605T - Software Quality Assurance and Quality Control
CSIS610T - Operating Systems Design
CSIS612T - Real-Time Systems and Applications

CSIS620T - Graphics
CSIS621T - Multimedia I
CSIS622T - Multimedia II

CSIS625T - Computer and Network Communications
CSIS626T - Client-Server
CSIS627T - Local Area Network and Internetworking Protocols

CSIS628T - Telecommunications Architecture and Services
CSIS629T - Internetworking Architecture and Implementation
CSIS630T - Simulation, Mathematical Modeling

CSIS631T - Bioinformatics: Algorithms
CSIS632T - Bioinformatics: Data Analysis
CSIS635T - Artificial Intelligence and Knowledge-Based Systems I
CSIS636T - Artificial Intelligence and Knowledge-Based Systems II

CSIS638T - Software Engineering in Factory Automation (Robotics)
CSIS645 - Strategic Information Systems
CSIS652 - Design of an Integrated Corporate Information System

CSIS660T - Embedded Microprocessor Design
CSIS661T - Advanced Microprocessor Design with Biomedical Applications
CSIS662T - Computer Architecture

CSIS670 - Project I
CSIS671 - Project II
CSIS672 - Internship
CSIS673 - Internship/Seminar

CSIS680-83 - Seminars
CSIS685-88 - Topics
CSIS690/695 - Research, Independent Study


CSIS500 Technical Communications (Oral, Written, Visual)

Students learn technical communication skills, both oral and written, for organizing and presenting information clearly and effectively. The course focuses on the communication needs of software professionals, including business analysts and project managers. Student exercises include product descriptions, instructions, informative and persuasive oral presentations, graphics, usability testing, and a semester project. After completing this course, students should feel more confident about their ability to communicate effectively on the job.

3 Credits
Prereq: none


CSIS505 Introduction to Information Technology (not available for GPS students)

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

3 Credits
Prereq: none


CSIS510 Software Engineering

This is a survey course covering software engineering concepts, techniques, and methodologies. Topics covered include software engineering; software process and its difficulties; software life-cycle models; project planning including cost estimation; design methodologies including structured design, data-structure oriented design, object-oriented design; and software testing. A brief review of data structures is included.

3 Credits
Prereq:
CSIS512 (waived for appropriate programming experience)


CSIS512 Foundations of Software Development

The objective of this course is to provide practical knowledge about the concepts of programming in a third generation language, data structures, and algorithms. Students will write several programs to gain firsthand programming experience and understand data structure concepts. Course content also includes a brief overview of some software engineering concepts.

3 Credits
Prereq: Programming experience


CSIS524 Systems Analysis and Design Tools (for MSS students only)

This course serves the purpose of establishing necessary background and vocabulary for systems analysis and design. Coverage includes data modeling, process modeling, object modeling, control modeling, and techniques for architectural design such as structure charts. Automated software tools are used to illustrate these methods.

3 Credits
Prereq:
CSIS510


CSIS526 Software Process Management (for MSS students only)

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 CSIS600T or CSIS605T. Exceptions require the prior approval of the GPS director.)

3 Credits
Prereq:
CSIS524


CSIS530T Database Management Systems and Design

This course focuses on relational database design and system concepts. Database design includes database concepts, data models, conceptual (EER) and relational schema designs, query languages (SQL), physical data storage and access methods, and physical schema designs. Database systems includes query processing, transaction concepts and management such as concurrency control and recovery from failure, and database security and authorization. Students will complete a relational database design project.

3 Credits
Prereq: CSIS 510


CSIS532T Distributed Database Management

Included in this course is the architecture for Distributed Database Management Systems (DDBMS). DDBMS are systems that handle management of distributed data, data models, semantic integrity enforcement, transaction management, communication subsystem, integrated DDBMS design and heterogeneous integration of existing DDBMS. This course focuses on the architecture, design and implementation of Distributed Database Management Systems. Students will learn the issues involved in integrating database management systems from different vendors. Students will have the option to write software that allows a query, an update, a delete or an insert to run on multiple databases across the network. Students will also have the option to perform research to study and analyze a commercial distributed DBMS. Distributed semantic integrity, consistency, deadlock, transaction support and distributed concurrency control are topics that will be discussed in this class.

3 Credits
Prereq: CSIS 530T (Experience with Java helpful with programming project.)


CSIS533T Human-Computer Interface Design

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
Prereq: CSIS 510


CSIS534T Speech Recognition

This course covers the fundamentals of speech recognition and voice interfacing. The topics covered will include: the need for voice interfaces; an introduction to automated voice interfaces; why voice interfaces are used; why voice input is difficult; recent applications successes; what determines success or failure; models and theoretical concepts in speech recognition; speech communications processes; digital speech processing and phonetic feature extraction; identifying words from pronunciations; syntax, semantics, task constraints and natural language; alternative speech recognition system structures; getting started in voice interfacing projects; and strategy for achieving user satisfaction.

3 Credits
Prereq: CSIS 510


CSIS535T Information Retrieval

This course presents an overview of the theory and design of information retrieval systems for unformatted data such as text and multimedia data. While the focus is on Internet search engines, they are discussed in the context of earlier fixed collection systems. We explore both the Boolean and ranked vector space models of retrieval, as well as variants used in both research and commercial systems. We also discuss a variety of text processing techniques and algorithms, such as parsing, stemming, compression, and string searching. Information retrieval is also a great case study for broader issues in building systems that scale and perform, so we discuss associated issues in data structures, algorithms, computational complexity, and measurement. Students will also build a mini search engine.

3 Credits
Prereq: CSIS 510; recommended CSIS530T


CSIS536T Data Mining

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.

3 Credits
Prereq: CSIS 530T; and programming experience


CSIS537T Developing Voice Interface

A systematic user-centered strategy for voice interface design is introduced and applied to several representative PC, industrial, Web, and telecommunications applications. Speech technologies like recognition and synthesis are described, from an end-user’s perspective. Usability engineering methods are introduced for doing user and task analysis, specifying adequacy measures for the interface, applying human factors and voice dialog guidelines, designing natural and efficient voice dialogs, handling errors, prototyping with available products and new software, and obtaining end-user tests. Guidelines and detailed rules for assuring user satisfaction and best use of voice capabilities will be examined. Integrating voice with other input and output modalities will be explored.

3 Credits
Prereq: CSIS 510


CSIS538T Database Administration Concepts

Database Administrators (DBA's) have to perform multiple functions within an organization. This class focuses on the issues that database administrators have to deal with in their everyday professional life. Responsibilities of a DBA are broken down by functions and each function is studied. These include: database system planning, database system installation and upgrading, database design (conceptual, logical, and physical), normalization (de-normalization), database loading and unloading, database change management, data availability, database security and access management, performance management (query processing, indexing, physical space planning, etc.), system performance, data integrity, data and storage management, data migration, data movement and distribution, database connectivity, distribution of data, fault tolerance (back ups and recovery) and disaster recovery planning. Students will use SQL Server 2000 and Oracle 9i to design, implement and administer their databases using these two commercial products. Although the course uses examples of these two product functions, it is not a SQL Server or Oracle DBA course.

3 Credits
Prereq: CSIS 530T


CSIS539T Data Warehousing

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

3 Credits
Prereq: CSIS 530T


CSIS541T Fundamentals of Objects and Java Programming (no longer offered)

This course is an introduction to object-oriented programming. The students will learn the core object-oriented concepts: information hiding, polymorphism, and inheritance. Java will be used as an implementation language to illustrate these concepts. Students are expected to have basic software development knowledge, but no prior Java programming experience is required. Students will learn Java application programs, Java applets, and graphical user interfaces. Topics included are Java programming environment, basic Java expressions, control flow, object and class, class visibility, class inheritance, exception handling, etc. A brief introduction to UML will also be included.

3 Credits
Prereq: CSIS 510


CSIS543T Object-Oriented Application Analysis & Design

This course covers basic object-oriented techniques for specifying, designing, and implementing software systems. Iterative development methodologies such as the Unified Process are emphasized. The Unified Modeling Language (UML) is used as a notational system for capturing the results of such development. Core diagrams of UML are used, and students will gain experience with a software tool for creating them. Other topics include use cases, class discovery and domain modeling, responsibility-centered design, basic design patterns, software class design, converting designs to code, object-oriented testing, packaging, deployment, along with intermediate Java topics relevant to system implementation. Students will work on an object-oriented team project, applying appropriate object-oriented concepts and techniques to describe and create a working object-oriented software system.

3 Credits
Prereq: CSIS 510T
and Java programming experience


CSIS544T Object-Oriented Multimedia Databases

The aim of this course is to give in-depth understanding of various techniques used in modern multimedia database systems. We will exercise those techniques by building a multimedia database of our own. Three major portions in this course are: (1) We will use programming tools to analyze multimedia data and retrieve useful features (i.e. colors, shapes, objects, motions, etc.) from such data. (2) We will then pass those retrieved features to the POET Object-Oriented Database Systems to create our own efficient multimedia index structures. (3) We will search those index structures to retrieve multimedia data that is relevant to users’ queries.

3 Credits
Prereqs: (CSIS 530T ) and programming experience


CSIS545T Object-Oriented Patterns and Architectures

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

3 Credits
Prereq: CSIS543T


CSIS546T Advanced Object Concepts and Issues

This course gives students first-hand experience in applying object-oriented software development best practices in a realistic software development environment. In the process of doing this, students learn and apply advanced object-oriented software development concepts and approaches including agile software development processes, pattern-based design and development, refactoring to maintain system design quality, distributed object computing in an enterprise level software architecture environment, and the use of relational database management systems by object-oriented systems.

3 Credits
Prereq: CSIS543T; CSIS545T highly recommended


CSIS550T Legal Issues in Technology

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.

3 Credits
Prereq: CSIS510


CSIS560T Computer Security

This course will cover both the engineering and human issues in computer security and the tension between them. The engineering issues include cryptography concepts, algorithms, and applications (conventional and public key, digital signatures and certificates, certificate authorities), protocols (authentication, key distribution, Kerberos), biometrics, network security (including wireless), email protection, viruses, worms, Trojans, firewalls, and intrusion detection. There will be special emphasis on the application security features of the Java programming platform. The human issues include social engineering, user password management, and computer crime.

3 Credits
Prereq: CSIS510 and Java programming experience required; CSIS610T and CSIS625T recommended


CSIS561T Advanced Computer Security

This course is the next step beyond the prerequisite course, Computer Security. Given the security concepts and building blocks developed in the former course, this course both explores these previous topics in greater depth and covers additional topics. Topics will include advanced cryptography, single sign on using directories, wireless network security, firewalls, VPNs, and intrusion detection and prevention systems, and other security technologies. In addition, this course utilizes a computer security lab for hands-on exercises that reinforce the material. We will cover weekly current events in computer security as well.

3 Credits
Prereq:
CSIS560T, CSIS625T and CSIS541T or CSIS543T required; CSIS610T recommended


CSIS562T Computer Forensics

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.

3 Credits
Prereq:
CSIS510


CSIS600T Software Project Management (not available for MSS students)

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 CSIS526.)

3 Credits

Prereq: CSIS 510


CSIS605T Software Quality Assurance/Quality Control (not available for MSS students)

This course presents a management perspective and a quality process that guides the selection of tools and application of techniques towards specific achievable goals in the management of quality in software development. Each student will develop a Quality Assurance plan for a significant software product. Included in the development of the Quality Plan will be development of plans that provide for change management, product acceptance, testing, problem resolution and corrective action, metrics, and reviews and audits. (If credit is received for this course students cannot receive credit for CSIS526.)

3 Credits
Prereq: CSIS 600T


CSIS610T Operating Systems Design

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.

3 Credits
Prereq: CSIS 510


CSIS612T Real-Time Systems and Applications

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.

3 Credits
Prereq: CSIS 510


CSIS620T Graphics

The subject of computer graphics is introduced in this course. There is a discussion of hardware, software and graphics standards. Commercial software is introduced for the benefit of end users and applications programmers. Fundamental algorithms and techniques for rendering, picture transformation, and graphical input are presented. If time permits, topics such as animation and human interface will be discussed.

3 Credits
Prereq: CSIS 510


CSIS621T Multimedia I

This course is the first of a 2-course sequence in digital multimedia. In this first course, students will learn how to create web pages using Dreamweaver, how to edit images using Adobe Photoshop, how to create and edit movies using Adobe Premiere, how to create animations using Flash, and much more. We will also explore some of the underlying enabling technologies behind multimedia applications, interface design, emerging industry standards, legal and copyright issues, and future directions in interactive digital media. The course is project based and students will work on a web based project over the course of the semester. This is an introductory course and no prior background in multimedia is required.

3 Credits
Prereq: CSIS 510


CSIS622T Multimedia II

Advanced topics within the field of interactive multimedia are introduced to students. Topics to be covered include film theory, synthetic (virtual) reality, and advanced topics in hypertext and hypermedia. Students must complete a semester-long project.

3 Credits
Prereq: CSIS 621T


CSIS625T Computer and Network Communications

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

3 Credits
Prereq: CSIS 510


CSIS 626T Client-Server

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.

3 Credits
Prereq: CSIS 530T and CSIS 541T or CSIS 543T


CSIS627T Local Area Network and Internetworking Protocols

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.

3 Credits
Prereq: CSIS625T


CSIS628T Telecommunications Architecture and Services

This course will cover advanced topics in telecommunications. The course will emphasis on an in depth understanding of wide area network technologies, infrastructures, and services available today in the market used by business and residential users. Real-life case studies will be discussed and hands-on projects will be part of the study. The topics covered in class will include a wide range of current topics in networking and communications such as Electronic Mail, IP Telephone, Virtual Private Network, Wireless, Security, Data Encryption, and Network Management.

3 Credits
Prereq: CSIS625T or consent of the instructor


CSIS629T Internetworking Architecture and Implementation

This course should be taken as a follow-on to CSIS628T. 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 over 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
Prereq: CSIS625T or consent of the instructor


CSIS630T Simulations, Mathematical Modeling

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.

3 Credits
Prereqs: Calculus


CSIS631T Bioinformatics: Algorithms

This course introduces students to Bioinformatics through the presentation of current algorithms used in computational molecular biology. The following topics will be discussed: introduction to molecular biology (for computer scientists); restriction maps; cloning and clone libraries; physical genome maps; sequencing and base calling; assembly; sequence analysis; sequence alignment algorithms; multiple sequence alignment; probability and statistics for sequence alignment; gene finding techniques.

3 Credits
Prereqs:
CSIS510


CSIS632T Bioinformatics: Data Analysis

The specific goal of this course is to allow a microarray user to be in a position to make an informed choice as to what data analysis technique to use in a given situation. The existing software packages usually include a very large number of techniques which in turn use an even larger number of parameters. Thus an operator trying to analyze DNA microarray data is confronted with an overwhelming number of parameters. The course will address this issue by emphasizing at a high level of abstraction the characteristics of various techniques in a biological context. Topics from the course include: What are microarrays and why are they important? Image processing of microarray data; Elements of statistics with application to gene expression data (Analysis of Variance - ANOVA and Experimental Design applications to gene expression data); Multiple comparisons - application to expression data from cancer patients; Analysis and visualization tools; Cluster analysis (distance metrics and algorithms); Data pre-processing and normalization; Methods for selecting differentially regulated genes; Functional analysis and biological interpretation of microarray data; Software applications for Gene Expression Analysis.

3 Credits
Prereqs:
CSIS510


CSIS635T Artificial Intelligence and Knowledge-Based Systems I

This course is the first section of a 2-semester curriculum sequence that can be called 'Knowledge-Enriched Software Design'. This first semester is designed to provide students with a practical understanding of the culture and practice of the Artificial Intelligence community, with emphasis on the methodologies, tools, and techniques that can be used to produce knowledge based software applications in today's business climate.

3 Credits
Prereq: CSIS 510


CSIS636T Artificial Intelligence and Knowledge-Based Systems II

This course is designed to focus on specific student projects that have relevance to their areas of professional interest. The curriculum goals are: to allow students to explore the methodology and practice of designing software systems that incorporate human knowledge as a primary means of problem solving within a wide range of business domains; to allow students to experience a user/problem-solver level of abstraction above what is common in traditional business analysis and software practice; to present the vision of moving from a paradigm where we require people to be 'computer-literate' to one in which computers (software) can become more 'people-literate'.

3 Credits
Prereq: CSIS 635T


CSIS638T Software Engineering in Factory Automation (Robotics)

The design of robotic workcells and the control and feedback communications required for workcell operations are examined. Topics discussed include robot architecture, control and programming, as well as workcell design, control, and communications. Extensive use is made of slides and training and industrial robots. Class tours enable students to see industrial robotic workcells in operation.

3 Credits
Prereq: CSIS 510


CSIS645 Strategic Information Systems

Issues presented in class relate to a firm's use of technology to enhance its strategies and its plans for gaining or maintaining a competitive advantage. This involves a review of the management questions related to Information Technology's (IT's) support of six different strategic thrusts: differentiation, cost, innovation, growth, alliance and time. The basic emphasis is on the fundamental role of IT in strategic planning and implementation rather than on the "nuts and bolts" of technical aspects of computers and telecommunications. An extensive use of Harvard Business School case studies supplements the class reading list.

3 Credits
Prereq: CSIS 510


CSIS 652 Design of an Integrated Corporate Information System

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.

3 Credits
Prereq: Familiarity with elementary accounting principles


CSIS 660T Embedded Microprocessor Design

This course will introduce the concepts of embedded processor design. An overview of the most popular embedded processors from Intel ( X-Scale Arch.), Analog Devices (Blackfin) TI (MSP430, 24X and 54X DSPs), PIC (Microchip) and Motorola (HC11 and HC16Z1) will be covered. The strengths and weaknesses of each family of processors and where they are used will also be covered. The use of assemblers and simulators, A/D, D/A converters, signal synthesizers, and serial communication interfaces will be covered in detail. The students will be have lab time with Blackfin Circuitboards. An introduction to Digital Signal Processing in the time domain will be presented from a firmware engineers perspective.

3 Credits
Prereq: CSIS 510


CSIS 661T Advanced Microprocessor

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, accelometers, 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.

3 Credits
Prereq: CSIS 660T or permission of instructor


CSIS 662T Computer Architecture

Computers have changed fundamentally during recent years. The performance of software systems is dramatically affected by how well software designers understand the basic hardware techniques at work in a system. The objective of this course is to provide a firm grounding in principles and techniques to all software engineers including compiler writers, operating systems designers, database programmers, and real-time systems programmers. The course will show relationship between hardware and software and will focus on the concepts that are the basis for modern computers. This course will cover performance issues, instruction set design, processor implementation techniques, pipelining, parallel processing, vector processing, and memory hierarchy including cache memory, input/output factors, RISC architecture, and multiprocessors.

3 Credits
Prereq: CSIS 510


CSIS 670 Project I
Available to only MS and MSDD students

All MS and MSDD Students may choose to register for CSIS670-671 and complete a research or software development project under the supervision of a full-time GPS faculty member. Students cannot receive credit for CSIS670 without completing CSIS671.

3 Credits
Prereq: CSIS 600


CSIS 671 Project II
Available to only MS and MSDD students

All MS and MSDD Students may choose to register for CSIS670-671 and complete a research or software development project under the supervision of a full-time GPS faculty member. Students cannot receive credit for CSIS671 without completing the prerequisite CSIS670.

3 Credits
Prereq: CSIS 670


CSIS672 Internship

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.

3 Credits
Prereq: variable


CSIS673 Internship

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.

1 Credit
Prereq: variable


CSIS680-683 Seminars
(Not available for MSS students)

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


CSIS685-688 Topics

Credits: variable
Prerequisites: variable

Current GPS Topics Course Listings and Descriptions


CSIS 690 and CSIS 695 Research, Independent Study

Credits: variable
Prerequisites: variable