Major Area Course Descriptions
COMP
111
-
INTRO COMP SCIENCE/OBJECT-ORIENTED PROG
This course provides an introduction to software construction using an object-oriented approach. The student learns and reflects on problem analysis, object-oriented design, implementation, and testing. To support the concepts and principles of software construction, the student will design, code, test, debug, and document programs using the Java programming language. Basic data types, control structures, methods, and classes are used as the building blocks for reusable software components. Automated unit testing, programming style, and industrial practice are emphasized in addition to the object-oriented techniques of abstraction, encapsulation, and composition.
COMP
121
-
OBJECT ORIENTED DATA STRUC/ALGRTHMS I
This course continues the object-oriented approach to software construction. The student learns and reflects on advanced object-oriented techniques, algorithm efficiency, class hierarchies, and data structures. To support the concepts and principles of software construction, the student will design, code, test, debug, and document programs using the Java programming language. Design principles, I/O, exception handling, linear data structures (lists, stacks, and queues), and design patterns are emphasized in addition to the object-oriented techniques of inheritance and polymorphism.
COMP
201
-
PRINCIPLES OF COMPUTER ORGANIZATION
This course is one of four courses that holistically explore the structure of computational systems. This course deals with the nature of computer hardware. The course will cover the structure of current computer systems at the level of functional organization, representation of data and programs, the design of the memory hierarchy, and the design of the I/O system. The course will introduce basic assembly language.
COMP
202
-
PRINCIPLES OF COMPUTER LANGUAGES
This course covers the mapping of a high-level language onto the hardware. An introduction to language theory is provided by the use of regular expression grammars. The Church-Turing thesis is introduced as the foundational definition of computation.
COMP
203
-
PRINCIPLES OF OPERATING SYSTEMS
This course is a continuation of the computing infrastructures sequence. The function and structure of operating systems is studied. In addition, the operating system layer provides the environment buffering the hardware from the software. An important topic in this course is the nature of concurrency and the problems that it poses: description of the functions and parts of an operating system; relationship of the operating system and underlying hardware; virtual memory; and concurrency and synchronization.
COMP
204
-
PRINCIPLES OF COMPUTER NETWORKS
This course serves as an introduction to the function, design, administration, and implementation of computer networks. Topics include network infrastructure, architecture, protocols, applications, and the OSI networking model.
COMP
205
-
SURVEY OF COMPUTER LANGUAGES
This course provides an overview of programming language concepts and practice with several languages. Programming languages are compared using language paradigms, parameter passage techniques, scoping, block structure, and other language features. Functional programming languages, scripting languages, and .Net are used as practical examples.
COMP
281
-
DATABASE MANAGEMENT SYSTEMS
This course covers fundamental concepts necessary for the design, use, implementation and administration of database systems. The course will stress the fundamentals of database modeling and design, the languages and facilities provided by database management systems, and some techniques for implementing and administering database systems.
COMP
294
-
COMPUTER SCIENCE PRACTICUM I
This is the first practicum course in the Computer Science program. It provides experience in an on-going software development project. A student at this level will be given an assignment in a team similar to that of a new hire in industry. The software development project will require the student to apply industry best practices in completing an assignment for the project.
COMP
311
-
OBJECT ORIENTED DATA STRUC/ALGRTHMS II
This course is the third of four courses using the object-oriented approach to software construction. The student learns and reflects on non-linear data structures, recursive algorithms, algorithm efficiency, and design patterns. To support the concepts and principles of software construction, the student will design, code, test, debug, and document programs using the Java programming language. Implementation and analysis of sets, maps, balanced binary search trees, heaps, hashing and hash tables, graphs and graph algorithms, and efficient sorting algorithms are addressed.
COMP
321
-
APPLICATION SERVER PROGRAMMING
This course provides an introduction to server-based programming using an object-oriented approach. The student learns and reflects on two- and three-tier software architectures, separation of responsibility, design patterns, and web frameworks. To support the concepts and principles of server-based software construction, the student will design, code, test, debug, and document programs using the Java programming language. Swing-based GUI clients, XHTML clients, XML, JDBC, Java Server Pages and Java Servlets, are used as the implementation mechanisms for Model 1 and Model 2 Web architectures.
COMP
325
-
HUMAN COMPUTER INTERACTION
This course covers a broad range of important topics within human computer interaction (HCI) and its implications for the design of interactive systems. By understanding the user?s viewpoint and technology?s effect on people, we can better plan for the selection, design, implementation, and use of technology so that the effects are positive rather than negative. The focus is on the design of interactive systems and human-computer interfaces. The course will cover the current literature and the knowns and unknowns about HCI and design. The design process is centered on the user and is based on a multidisciplinary approach through a synthesis of computer science, cognitive science, and psychology. HCI designers also use analytical and empirical techniques to assess, predict, and evaluate whether a design meets user requirements.
COMP
394
-
COMPUTER SCIENCE PRACTICUM II
This is the second practicum course in the Computer Science program. It provides experience in an on-going software development project. A student at this level will be given an assignment in a team similar to that of an experienced team member or as a team leader in industry. The software development project will require the student to apply industry best practices in completing an assignment for the project.
COMP
461
-
ENTERPRISE SOFTWARE ARCHITECTURE
This course reinforces and extends client-server programming concepts to enterprise applications. It introduces Enterprise Java Bean technologies such as JNDI, EJBs and EJB Containers. It explores the current use of XML and XSLT for data representation and communication. The course studies the application of patterns in the design of enterprise architectures. Finally, the course introduces emerging topics related to Web enterprise applications.
COMP
486
-
OBJECT-ORIENTED ANALYSIS AND DESIGN
This course studies the process of designing software systems both from the view of process and from the view of requirements, analysis and the synthesis of a viable software design. It builds on the concepts from the programming sequence to examine the aspects of good design practice.
COMP
495
-
COMP SCIENCE PRACTICUM III/CAPSTONE
This is the third practicum course in the Computer Science program. It, like the first two practicum experiences, is an on-going software development project. A student at this level will be given an assignment at the most senior level, requiring planning and overall coordination tasks. Design tasks of extreme complication are also candidates for these students. In addition to the project work, the student will be given introspective assignments to help crystallize his or her overall experience of the program.
MATH
170
-
DISCRETE MATHEMATICS
This course introduces students to fundamental algebraic, logical and combinational concepts in mathematics that are needed in upper division computer science courses. Topics include logic; sets, mappings, and relations; elementary counting principles; proof techniques with emphasis on mathematical induction; graphs and directed graphs; Boolean algebras; recursion; and applications to computer science.
MIS
310
-
INFO SYSTEMS ARCHITECTURE & TECHNOLOGY
This course provides a conceptual survey of general systems theory followed by a conceptual and technological survey of the structure of distributed information systems architectures, operating systems, network operating systems, peripheral technology and user interfaces. Interoperability between these architectural components will be explored and current technology and trends in each architectural element will be reviewed. This course will de-emphasize, although not ignore, mainframe architectures in favor of information architectures more applicable to client/server computing. The various interacting categories of client/server computing as well as the benefits and implications of such a system will be fully explored.
MIS
320
-
TECHNICAL COMMUNICATION
This course will prepare students for the bi-directional technical communication demands specific to computer and information systems. Topics include technical research methods and approaches, critical analysis of technical documents, synthesis of data, information and knowledge gained through research and critical analysis, creation of accurate technical documents, and effective delivery of technical material via oral presentations supported by visual media.
MIS
484
-
INFORMATION SYSTEMS SECURITY
Students will review and analyze the control and security concerns in the information systems environment. The security challenges created from the emergence of new technology and the changing internal and external environments will be analyzed. The effect of legal, regulatory, and current security technology on policy development will also be reviewed.