Course Information

COMPUTER SCIENCE DEPARTMENT



Course: IC210
Title: INTRO TO COMPUTING
Credits: 3-2-4
Description: Introduction to algorithmic development, problem solving and software design. Principles and concepts to provide foundational knowledge and experience upon which later computing courses will build. This is the first course for computer science and information technology majors.
Offered: Fall 2014-2015
Requisites: Prereq: None.
Course: IC211
Title: OBJECT ORIENTED PROGRAMMING
Credits: 2-2-3
Description: This course builds on the procedural programming skills developed in the prerequisite course and introduces the student to object oriented programming and design principles using Java. Object oriented topics such as classes, inheritance, information hiding, polymorphism and dynamic binding are presented and used to create robust, reusable, and maintainable software. The fundaments of Java are presented along with exception handling, I/O, event driven programming, simple GUIs and generics.
Offered: Spring
Requisites: Prereq: IC210 or SI204.
Course: IC220
Title: COMPUTER ARCHITECTURE & ORG
Credits: 3-0-3
Description: This course introduces students to performance metrics, instruction set architectures, assembly language, logic design, memory hierarchies, and pipelining.
Offered: Spring
Requisites: Prereq: IC210 or SI204 or permission of department chair.
Course: IC221
Title: SYSTEMS PROGRAMMING
Credits: 2-2-3
Description: The study of an application's interface with the operating system. The operating system is treated as an information resource, and as a facilitator for information flow between processes, including those executing on separate machines. Topics include: process management, multiprogramming, and the basic concepts necessary to understand the design and operation of computer communication networks.
Offered: Spring
Requisites: Prereq: (IC210 or SI204 or permission of department chair); Coreq: IC220.
Course: IC312
Title: DATA STRUCTURES
Credits: 3-0-3
Description: This course examines abstract data types (ADT), data structures, data representation and information management including storage structures, allocation and collection. ADTs and data structures presented include lists, stacks, queues, trees, heaps, priority queues, maps, dictionaries and graphs. Sorting and searching techniques, hashing and graph algorithm analysis are also covered.
Offered: Fall 2014-2015
Requisites: Prereq: (IC211 or permission of department chair); Coreq: SM242.
Course: IC322
Title: COMPUTER NETWORKS
Credits: 2-2-3
Description: The course presents the fundamental theoretical concepts, characteristics and principles of computer communications and computer networks, and analyzes and assesses these foundational concepts with respect to network performance and network design.
Offered: Fall 2014-2015
Requisites: Prereq: (IC221; Coreq: SM242) or permission of department chair.
Course: IC470
Title: SOFTWARE ENGINEERING
Credits: 2-2-3
Description: An introduction to the basic principles of software engineering.
Offered: Fall 2014-2015
Requisites: Prereq: IC312.
Course: IC480
Title: RESEARCH SEMINAR/CAPSTONE
Credits: 1-4-3
Description: This is a capstone course that ties together concepts from the information technology and computer science curriculums to solve a practical problem. These team-oriented project solutions will include the requirements gathering, analysis, design and development of a computing system involving a large, multi-layer organization using appropriate information management and computing technologies.
Offered: Fall 2014-2015
Requisites: Prereq: IT470 or Chair Permission.
Course: IT350
Title: WEB & INTERNET PROGRAMMING
Credits: 2-2-3
Description: Web site design and management, clients and servers, client and server side scripting languages, web transmission protocols.
Offered: Fall 2014-2015
Requisites: Prereq: IC210.
Course: IT360
Title: APPLIED DATABASE SYSTEMS
Credits: 2-2-3
Description: This course introduces the principles underlying Database Management Systems (DBMS) with a special emphasis on database management system structure and function when integrated with web-based database applications.
Offered: Spring
Requisites: Prereq: IC312 and IT350.
Course: IT430
Title: INFORMATION ASSURANCE AND NETWORK SECURITY
Credits: 2-2-3
Description: This course is an introduction to the theoretical and practical facets of Information Assurance (IA) to include: Department of Defense (DoD)/Department of the Navy (DoN) policies and directives, Trusted systems, Access mediation, Cryptography, Public Key Infrastructure (PKI), Information Warfare, Network security and Database security. Laboratory work will include student exercises demonstrating information assurance concepts culminating in a vulnerability analysis of given systems.
Offered: Spring
Requisites: Prereq: IC322 or IT340.
Course: IT432
Title: ADV INFORMATION ASSURANCE AND NETWORK SECURITY
Credits: 2-2-3
Description: This course provides an introduction to topics in secure system design, including: cryptography, operating system security, and language based security. Where the IT430 course focuses primarily on securing an existing system, this course studies how to design a system to meet security goals. Students will design and implement components of a secure system.
Offered: Fall 2014-2015
Requisites: Prereq: IT430 or permission of department chair.
Course: IT452
Title: ADV WEB & INTERNET SYSTEMS
Credits: 2-2-3
Description: Web server design and configuration, search engine design and usage, web security and authentication, servlet implementations, web collaboration mechanisms, web services, and knowledge representation on the web.
Offered: Fall, Spring
Requisites: Prereq: IT350.
Course: IT460
Title: HUMAN COMPUTER INTERACTION
Credits: 2-2-3
Description: An introductory course emphasizing interactive software design, development and evaluation using a human-centered approach. Topics include aspects of human sensation, perception and cognitive psychology.
Offered: Fall, Spring
Requisites: Prereq: IC312 or IT350.
Course: IT462
Title: ADV DATABASE SYSTEMS
Credits: 2-2-3
Description: This course will discuss advanced issues in database systems, including parallel, distributed and peer-to-peer databases, data warehousing and data mining, XML and service-oriented architectures. The course incorporates hands-on exercises using commercial database systems and products, as well as a web-database project.
Offered: Fall, Spring
Requisites: Prereq: IT360 or SI440.
Course: IT470
Title: ENTERPRISE COMPUTING
Credits: 2-2-3
Description: This course develops architectures and concepts for the development of multi-tier (typically 3 tiered) distributed applications for an entire organization or enterprise. This includes a user interface called the client tier or tier 1, a server component which is controlled by the organization and provides for interaction with and data collection from the user (tier 2) and a database component that stores transactions and updates client profiles (tier 3). The course teaches advanced techniques for network programming as well as server management and programming.
Offered: Fall, Spring
Requisites: Prereq: (IC322 or IT340) and (IT360 or IT420).
Course: SI200
Title: INFORMATION TECH FOR THE JO
Credits: 3-2-4
Description: This is a hands-on lab course introducing computer programming and database management. Topics include: web programming using HTML and XHTML, structured and object oriented computer programming using a scripting language (such as JavaScript) or 4th Generation Language (such as Java or C++), and designing, implementing, and querying databases using a Database Management System (such as Access or SQL Server). The course includes a series of Internet computing and programming projects of increasing complexity. No prior knowledge of databases, web programming, or computer programming is assumed. Students may not receive credit for this course and SI250. It may not count as an SCS major elective and IT majors cannot take this course.
Offered: Fall 2014-2015
Requisites: Prereq: None.
Course: SI204
Title: INTRO TO COMPUTER SCIENCE
Credits: 3-2-4
Description: Introduction to algorithmic development, problem solving and software design. Principles and concepts to provide foundational knowledge and experience upon which later computer science courses will build.
Offered: Spring
Requisites: Prereq: None.
Course: SI221
Title: DATA STRUCTURES
Credits: 2-2-3
Description: Data representation and information management. Dynamic memory, recursion, lists, stacks and queues. Storage structures, allocation and manipulation.
Offered: Fall 2014-2015
Requisites: Prereq: SI204.
Course: SI283
Title: PROGRAMMING FOR ENGINEERS
Credits: 1-2-2
Description: An introduction to a structured programming language and its use in implementing algorithms to solve engineering problems.
Offered: Fall
Requisites: Prereq: None.
Course: SI335
Title: COMPUTER ALGORITHMS
Credits: 3-0-3
Description: Presents techniques for designing and analyzing computer algorithms including divide and conquer, dynamic programming and greedy methods. Introduces classic algorithms for problems such as searching and sorting, graph analysis, file compression and cryptology.
Offered: Spring
Requisites: Prereq: IC312 and SI340.
Course: SI340
Title: THEORY OF COMPUTING
Credits: 3-0-3
Description: This course presents the theoretical foundations for computing, including the study of formal languages, finite state machines, pushdown automata, Turing machines and computability.
Offered: Fall 2014-2015
Requisites: Prereq: IC210; Coreq: SM242.
Course: SI411
Title: OPERATING SYSTEMS
Credits: 3-0-3
Description: The study of the operating system as a resource manager. Topics include process management, interrupt processing, memory management, deadlock handling, file systems, multiprogramming, multiprocessing, data security and protection.
Offered: Fall, Spring
Requisites: Prereq: IC221 and IC312.
Course: SI413
Title: PROGRAMMING LANGUAGES
Credits: 2-2-3
Description: This course examines basic concepts underlying the design of modern programming languages: types, control structures, abstraction mechanisms, inheritance, concurrency and constructs for programming. This course will include programming assignments in several languages.
Offered: Fall 2014-2015
Requisites: Prereq: IC312 and SI340.
Course: SI420
Title: ARTIFICIAL INTELLIGENCE
Credits: 3-0-3
Description: A study of the fundamental concepts and techniques in the design and implementation of functionally intelligent machines. Topics include problem-solving using state-space search, game trees, state and plan space planning, and machine learning.
Offered: Fall 2014-2015
Requisites: Prereq: IC312.
Course: SI435
Title: ADV SOFTWARE ENGINEERING
Credits: 2-2-3
Description: This course presents the latest trends in modern techniques and methods for large scale software development activities, such as object oriented programming. The use of CASE tools and group design project is stressed.
Offered: Spring
Requisites: Prereq: IC470
Course: SI440
Title: DATABASE SYSTEMS
Credits: 3-0-3
Description: This course offers an introduction to modern database management systems. Concepts covered include relational model, schema design, SQL, query optimization, concurrency control, and recovery. The course focuses on the design and internals of modern database systems.
Offered: Fall, Spring
Requisites: Prereq: IC312.
Course: SI452
Title: ADV COMPUTER ARCHITECTURE
Credits: 3-0-3
Description: This course provides an advanced study of the design and evaluation of high performance computer systems.
Offered: Spring
Requisites: Prereq: IC220.
Course: SI455
Title: ADVANCED COMPUTER NETWORKS
Credits: 3-0-3
Description: This course provides an in-depth technical study of high-speed networking, client-server programming and applications, network firewall architectures and security procedures, and the ATM network.
Offered: Spring
Requisites: Prereq: IC322.
Course: SI460
Title: COMPUTER GRAPHICS
Credits: 2-2-3
Description: A project-based course involving basic concepts, theories and algorithms associated with producing 2D and 3D images on a raster display. Topics include graphics primitives, modeling, viewing, illumination, shading, texture, and event-driven programming using a graphics API.
Offered: Fall
Requisites: Prereq: IC312.
Course: SI462
Title: ADVANCED COMPUTER GRAPHICS
Credits: 2-2-3
Description: A project-based course involving advanced graphics techniques such as ray-tracing, radiosity, volume rendering, virtual and augmented reality, haptics, and pixel shaders.
Offered: Spring
Requisites: Prereq: SI460.
Course: SI475
Title: INTELLIGENT ROBOTICS
Credits: 2-2-3
Description: This course presents a survey of the concepts and theories of modern robot systems, including both manipulators and mobile robots. It covers kinematics, sensing, mapping and navigation, decision making, and learning. Concepts are applied on multiple robotic platforms.
Offered: Spring
Requisites: Prereq: IC312.
Course: SY204
Title: SYSTEMS PROGRAMMING & OS FUNDAMENTALS
Credits: 3-2-4
Description: Students will expand their programming expertise through the exploration of systems level programming utilizing C. Additionally, students will learn the fundamental features and design of operating systems. The activities in the course will be covered from a cyber operations perspective.
Offered:
Requisites: Prereq: SY201
Course: SY301
Title: DATA STRUCTURES FOR CYBER OPERATIONS
Credits: 3-2-4
Description: This course will cover the usual Data Structures topics, with a focus on cyber-operations. Students will learn how complex data are represented in computer programs and how the implementation/interface distinction helps enable it. They will learn the most common abstract data types and the standard implementations of them. They will explore how complexity in representation enables more sophisticated software, but also creates complex vulnerabilities. Examples will segue into the Web and Database course.
Offered: Fall 2014-2015
Requisites: Prereq: SY204.