This course introduces two fundamental aspects of computer science - abstraction and design - as students learn to develop programs in a high-level programming language. Students will study and implement a variety of applications, including graphics and scientific simulations. The course assumes no prior background in programming or computer science.

This course explores the three fundamental aspects of computer science - theory, abstraction, and design - as the students develop moderately complex software in a high-level programming language. It will emphasize problem solving, algorithm development, and object-oriented design and programming. The course assumes prior experience in programming.

This course continues the exploration of theory, abstraction, and design in computer science as the students develop more complex software in a high-level programming language.
An introduction to computer organization and principles of computer design. Topics include digital logic and digital systems, machine level representation of data, assembly level machine organization, memory system organization, I/O and communication, and CPU implementation.
A continuation of CS 3151. Topics include sets, relations, and functions; graphs, state spaces and search techniques; automata, regular expressions, and context free grammars; NP-completeness.

An introduction to the software development life cycle and contemporary software development methods. This course places special emphasis on object-oriented systems. Students are expected to complete a medium-scale software project.
This course covers principles of database systems. Topics include theory of relational databases, database design techniques, database query languages, transaction processing, distributed databases, privacy and civil liberties. Students are expected to complete a project in database design, administration, and development.
Application and survey of problem-solving methods in artificial intelligence with emphasis on heuristic programming, production systems, neural networks, agents, social implications of computing, and professional ethics and responsibilities.

Survey of several high-level languages, their compilers, and inherent data structures. Formal descriptions of high-level languages.
This course focuses on building web applications.  Topics include: enterprise and system issues; professional-grade website-development tools; programming in markup and scripting languages; networked databases across different platforms; use of distributed objects; and ethical and professional implications of the Internet.  Students are expected to complete a project in the development and maintenance of web sites as well as web services.

Pre-requisites: CS3212 and CS3230 and CS3260

View the Department Course Profile

Introduction to basic computing fundamentals and software engineering, with emphasis on linear data structures, algorithm development and problem solving. Students are expected to complete a small scale project in this course.

Prerequisite: Graduate standing

View the Department Course Profile

NOTE: This is an independent study offering of this course.

Advanced computing fundamentals and software engineering, with emphasis on non-linear data structures and computer architecture. Students are expected to complete a medium scale project in this course.



NOTE: This is an independent study offering of this course.

Advanced computing fundamentals and software engineering, with emphasis on non-linear data structures and computer architecture. Students are expected to complete a medium scale project in this course.



NOTE: This is an independent study offering of this course.
An introduction to the study of operating systems. Topics include process management; memory/storage management and organization; and protection and security. Students are expected to complete a project in the administration and maintenance of two operating system platforms with focus on management and administration of local/remote devices and users as well as activation and maintenance of services such as telnet, ftp, web servers, etc.
An introduction to enterprise, organizational, programming, and system issues in building and maintaining a modern website with emphasis on use of professional grade website development system; programming in markup and scripting languages; creation, access, and maintenance of networked databases; and use of multimedia authorware. Students are expected to complete a major project in the development and maintenance of websites as well as web services.
Advanced topics in computer networks. Topics include: SONET, HDLC, HTTP, SMTP, PPP, internetworking devices and methodologies, network performance analysis, security and authentication, etc. Students will also be introduced to current professional certification processes and standards.
The effect of interactive media and games is prevalent throughout society today. Interactive media and games can be found everywhere from the Internet to cell phones, in homes, and vehicles. As technology continues to infiltrate nearly every aspect of everday life, while demanding more stimulating and entertaining media, it is imperative that those desiring a career in today's IT and/or gaming industry are aware of the needs, processes, and tools in developing such applications. Therefore, this course will explore the design and development of simple, yet entertaining and engaging, interactive media and gaming applications.

The first part of the course will focus on basic principles in developing and employing interactive media, such as HCI factors, and the creating, editing, and animation of images. The second part will focus on the design and development of simple 2D games. Topics will include the game development process from conception to implementation, while considering basic AI and physics principles that make games more realistic. Both parts of the course will contain a blend of high-level concepts and hands-on application through the use of software tools that aid in the design and development process.