Computer Science (COMP)
COMP 164 Essentials of Computer Science Credits: 3
This course is designed for a student considering a career in a computing field but is accessible to any student wanting to learn more about computer technology. The skills developed in this course will be utilized throughout the computer science curriculum. Topics will include the binary number system, data representation, digital logic, algorithmic problem solving, and programming in both low-level and high-level programming languages. The required preparation is MATH 110 or three years of high school mathematics.
Fall: All Years Spring: All Years
Course Outline
COMP 164L Essentials of Computer Science Lab Credits: 1
This course is designed for a student considering a career in a computing field but is accessible to any student wanting to learn more about computing technology. The skills developed in this course will be utilized throughout the computer science curriculum. Topics will include the binary number system, data representation, digital logic, algorithmic problem solving, and programming in both low-level and high-level programming languages. The required preparation is MATH 110 or three years of high school mathematics.
Fall: All Years Spring: All Years
Course Outline
COMP 165 Fundamentals of Programming Credits: 3
An introduction to the techniques of programming. Topics include problem solving methods, program design strategies, selection structures, iteration structures, subprograms, recursion, arrays and lists, sorting and searching, object-oriented design and classes. Students will use a popular high-level programming language to write, compile, debug, and document programs. Hands-on laboratory exercises will be integrated into the course. The required preparation is MATH 110 or three years of high school mathematics.
Fall: All Years Spring: All Years
Course Outline
COMP 165L Fundamentals of Programming Lab Credits: 1
A continuation of COMP 164 with emphasis on the techniques of programming. Topics include problem solving methods, program design strategies, selection structures, iteration structures, subprograms, recursion, arrays and list, sorting and searching, object-oriented design and classes. Students will use a popular high-level programming language to write, compile, debug, and document programs. Hands-on laboratory exercises will be integrated into the course.
Fall: All Years Spring: All Years
Course Outline
COMP 166 Data Structures Credits: 3
Pre-Requisite : COMP 165
Fall: All Years Spring: Department Discretion
Course Outline
COMP 166L Data Structures Lab Credits: 1
Fall: All Years Spring: Department Discretion
Course Outline
COMP 199 Field Experience in Computer Applications Credits: 1-3
On-the-job, supervised experience and study dealing with the applications of computers.
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 202 Android Programming for Beginners Credits: 3
Hands on training on Android programming intended for students NOT majoring in Computer Science. Topics include Android IDE installation and configuration, application structures and resources, XML basics, UI design, Java basics, Intent and event handling, Android design patterns, animation, and video streaming.
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 233 Computer Organization and Architecture Credits: 3
An overview of basic computer organization and architecture. Topics include: data presentation, digital logic, combinational and sequential circuit design and analysis, memory system organization, instruction and data path architecture, instruction set architecture and assembly language.
Pre-Requisite : COMP 165
Spring: All Years
Course Outline
COMP 286 Topics in Computer Science Credits: 1-4
A study of computer science topics not ordinarily covered in established courses.
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 306 Object-Oriented Design & Programming Credits: 3
An introduction to program design using object-oriented methods. Topics include: abstraction, composition, inheritance, polymorphism, UML design, threads and sockets, graphic elements, user interface design, web-programming and event handling.
Pre-Requisite : COMP 166
Spring: All Years
Course Outline
COMP 307 C# Programming Credits: 3
An introduction to C# programming using Microsoft .Net platform. Topics include: inheritance and polymorphism, delegates and events, streams, LINQ, XML, ADO.net and relational database, ASP.net and WPF application, threads and synchronization.
Pre-Requisite : COMP 166
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 324 Design and Analysis of Algorithms Credits: 3
A study of algorithms. Topics include: analysis and verification techniques, divide and conquer, dynamic programming, greedy, backtracking, and problem complexity.
Spring: All Years
Course Outline
COMP 328 Theory of Computation Credits: 3
An introduction to areas of theoretical computer science. Topics include: finite state machines, regular languages, push down automata, context free languages, Turing machines and recursive languages.
Pre-Requisite : MATH 210 OR MATH 320
Spring: Department Discretion
Course Outline
COMP 343 Computer Networking Credits: 3
An introduction to the principles of computer networking. Topics include: OSI and TCP/IP reference models, data link, network, transport, and application layers, and recent applications of network technology.
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 351 Programming Languages Credits: 3
An introduction to the organization of programming languages and the run-time behavior of programs. Topics include: syntax and semantics, procedural block-structured languages, functional languages, object-oriented languages, logical languages, case studies of languages such as Pascal, Ada, FORTRAN, COBOL, Java, LISP, and Prolog.
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 368 Database Management Systems Credits: 3
An introduction to the storage and organization of information. Topics include: database management, data mining, intelligent systems, networked databases, and human-computer interaction.
Pre-Requisite : COMP 165
Fall: All Years
Course Outline
COMP 376 Advanced UNIX Programming Credits: 3
An in depth look at programming on the UNIX/Linux platform. Topics include C/C++ programming, shell scripts, file management, memory management, process and thread management, server management, security, and networking.
Fall: All Years
Course Outline
COMP 377 Operating Systems Credits: 3
An introduction to the major concepts in an operating system, data communication, and modern computer networks. Topics include: processes, concurrency, CPU scheduling, deadlocks and memory management, TCP/IP, ATM, OSI Model, frame relay, Ethernet, congestion control, link-level flow and error control.
Pre-Requisite : COMP 376
Spring: All Years
Course Outline
COMP 385 Computer Graphics Credits: 3
An introduction to the major algorithms and techniques for computer graphics. Topics include: windowing, clipping, 3-D techniques, parametric curves and surfaces, hidden lines and surfaces, shading methods, ray casting and tracing.
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 390 Professional Issues Seminar Credits: 1
Students will read, present, and discuss material pertaining to the social and professional issues of Computer Science and technology in general. Topics may include: social context of computing, professional and ethical responsibilities, risks and liabilities of computer-based systems, security issues and intellectual property. Students will also explore possible career opportunities.
Pre-Requisite : COMP 233
Course Outline
COMP 402 Android App Development Credits: 3
A study of Android mobile application development. Topics include Android platform and development tools, application fundamentals, activity, intent, fragment, permission, services, thread & messages, graphics, multi-touch & gesture, networking
Pre-Requisite : COMP 306
Fall: Department Discretion Spring: Department Discretion Summer Department Discretion
Course Outline
COMP 403 iOS Programming Credits: 3
This course is designed to introduce the methods, techniques, and utilities for developing apps for iOS (Apple mobile devices).
Pre-Requisite : COMP 166
Fall: Department Discretion
Course Outline
COMP 408 Web Programming Credits: 3
A study of web programming, an in depth look at technologies that are fundamental to develop web-centric applications. Topics include HTML, Cascading Style Sheets (CSS), JavaScript, web servers, Document Object Model (DOM), JSON, XML, AJAX,PHP, and MySQL.
Pre-Requisite : COMP 368
Fall: Department Discretion Spring: Department Discretion Summer Department Discretion
Course Outline
COMP 425 Software Engineering Credits: 3
An introduction to the techniques of Software Engineering. Topics include: software processes, requirements elicitation and specification, analysis, design, development and implementation, validation, testing, and project management.
Pre-Requisite : COMP 306
Fall: All Years
Course Outline
COMP 435 Artificial Intelligence Credits: 3
An introduction to the basic concepts and technologies of artificial intelligence. Applications of these concepts and technologies are then discussed. Topics include: knowledge representation, search strategies, neural networks, and machine learning.
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 486 Advanced Topics Computer Science Credits: 1-4
A study of computer science topics not ordinarily covered in the established courses. Prerequisite: consent of Computer Science Program faculty.
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 492 Capstone Project Credits: 1
Students will work in teams to design, develop, and implement a significant software or hardware project. Two semester sequence.
Fall: All Years
Course Outline
COMP 493 Capstone Project Credits: 1
Students will work in teams to design, develop, and implement a significant software or hardware project. Two semester sequence.
Pre-Requisite : COMP 425
Spring: All Years
Course Outline
COMP 494 Independent Study Credits: 1-3
An independent study of a computer science topic not covered elsewhere.
Fall: Department Discretion Spring: Department Discretion
Course Outline
COMP 499 Internship in Computer Science Credits: 1-16
On-the-job supervised experience and study dealing with applications of computer science.
Fall: Department Discretion Spring: Department Discretion Summer Department Discretion
Course Outline