Computer Science (COMP)

COMP 101  Computer Concepts and Applications  (3)  

Serves as an introductory course which includes the following topics: an overview of technology today, computer systems design and operation, organizational data flow, emerging technologies, security and ethics, and networks. Hands-on instruction is provided in e-mail, Internet, and Windows. Students will study application software for mastery from the following categories: word processing, spreadsheet, database, desktop publishing, presentation graphics, web pages, etc.

Meets general education requirements: GE-Math/Science/Comp Sci Elec  
IAI Course Number: BUS 902, CS 910  
COMP 104  Practical Computing Scientists  (1)  

Serves as an introductory course for science majors. Students will learn and apply to scientific projects: word processing, spreadsheet, and presentation software and use of current applicable technologies.

COMP 121  Computers/Classroom Educator  (3)  
Prerequisite: MATH 111  

Includes the integration of computer hardware and software into the classroom curriculum, computerized classroom management, computer-assisted instruction, personal productivity tools - word processing, data management and spreadsheets, as well as evaluation of commercial education software and an introduction to computer operating systems.

COMP 135  Introduction to Information Technology  (3)  

Provides an introduction to the entire computer science discipline. The dynamics of computer science are presented in a historical perspective in which past developments, the current state of the art, and directions of research are discussed. Includes such topics as programming languages, operating systems, algorithms, software engineering, networking and the Internet, database design, artificial intelligence, machine architecture, and ethical and legal issues related to computing. Students will be introduced to Python and to web programming using HTML.

Meets general education requirements: GE-Math/Science/Comp Sci Elec  
COMP 140  Computer Science I  (4)  
Prerequisite: MATH 111  

Provides an introduction to computer science topics including the history of computing, algorithm development, program design and modularity, documentation and debugging, program logic and flow of control, file I/O, number representations and data types, Boolean algebra, introduction to object oriented programming, structures and classes.

Meets general education requirements: GE-Math/Science/Comp Sci Elec  
IAI Course Number: CS 911  
COMP 141  Programming in Visual Basic  (3)  
Prerequisite: MATH 111  

Provides an introduction to computer science topics including: the history of computing, algorithm development, program design and modularity, program logic and flow of control, number representations and data types, documentation, graphical user interface design, and debugging. Problems will be solved using Visual BASIC.

COMP 150  Computer Science II  (3)  
Prerequisite: COMP 140  

Provides an introduction to advanced computer science topics including software engineering, advanced design and modularization techniques; inheritance, polymorphism templates, pointers and user created class libraries; and an introduction to basic data structures including lists, stacks, queues and trees, using object-oriented programming techniques.

IAI Course Number: MTH 922  
COMP 199  Topics in Computer Science  (1-3)  

A course which covers specific themes, practices, and subject content not currently offered in the curriculum. This course is directed primarily to student majoring in the subject area and could be used to complete major requirements. The course will provide an in-depth study of a specific topic.

COMP 200  Hardware & Architecture  (3)  

Serves as an introduction to the hardware and systems software used in computer systems. The topics include the CPU, the system bus, memory, BIOS, keyboard, video, disk drives, parallel, and serial ports, and an operating system. The internal features of the hardware and operating system are examined using several utility programs and programming languages.

COMP 201  Introduction to DBMS  (3)  
Prerequisite: COMP 141 or COMP 135  

Provides an introduction to the functions and capabilities of database management systems and their use in a business environment. Focus will be on a comparative examination of current DBMS packages in terms of file management versus database management, text-based and graphical interfaces, fourth generation tools (report writers, screen generators), query languages (SQL, QBE), database programming languages and multi-user issues.

COMP 205  Information Systems: Analysis and Design  (3)  
Prerequisite: (COMP 140 and COMP 135 and BSAD 150 or COMP 253)  

Examines the development and use of effective information systems in organizations and software development in the framework of the systems development life cycle (SDLC). The course concentrates on the system analysis and design phases. Various approaches to system specifications, requirements analysis, process modeling, data modeling, procedural design and user interface design are presented.

COMP 207  Network Fundamentals  (3)  
Prerequisite: COMP 200  

Examines and implements wired and wireless technologies. Hardware, software and implementation techniques will be discussed. The focus is on the importance of providing network technology to a specific user base. This course integrates an understanding of business goals and objectives with current networking technologies and server installations.

COMP 241  Web Programming Languages  (3)  
Prerequisite: COMP 135  

This course provides an introduction to the prevailing languages that are used to support web application development. It includes basic html, JavaScript and cascading style sheets in additional to emerging language tools. Students will create web pages and web sites using the tools of the course.

COMP 250  Introduction to Data Structures  (3)  

Provides an introduction to basic data structures including lists, stacks, queues, and trees, using Object Oriented Programming techniques. Emphasis is placed on designing structures for modularity and reusability.

COMP 253  JAVA with Data Structures  (3)  
Prerequisite: COMP 135 or COMP 200  

Is a study of Object Oriented Programming in Java. Topics include, Java applets, Java system classes, control structures and methods, arrays, developing graphical user interfaces, incorporating graphics and other multimedia, networking and Java utilities.

COMP 254  Advanced Data Structures  (3)  
Prerequisite: COMP 150  

Offers an advanced study of complex data structures, the algorithms that manipulate various data structures, and how to select from among the data structures available for a given application. Emphasis is placed on implementing and evaluating data structures for practical situations. Topics include: trees, graphs, networks, advanced sort and search algorithms, and memory management.

COMP 293  Selected Topics  (3)  

Offers introductory courses not specifically listed in the catalog. Examples include: SQL, UNIX, Selected Software Applications, and World Wide Web Basics.

COMP 301  Database Administration  (3)  
Prerequisite: COMP 201  

Describes the role of the Database Administrator in managing an organization's most valuable asset - its data. Topics covered include: database layout, development, security, data fragmentation, rollback segments, backup and recovery, and distributed databases. Special emphasis is given to working with current database management systems.

COMP 312  Server Installation and Configuration  (3)  
Prerequisite: COMP 207  

Prepares the student to analyze, design, install and configure mini and client-server computer systems. Topics include enterprise analysis and design methodologies for network topologies as well as server and client installations, various operating system installations will be covered.

COMP 315  File Mngmt:Advanced Cobol FM  (3)  
COMP 330  Introduction to Data Science  (3)  
Prerequisite: MATH 175  

Is an introduction to Data Science. Students will learn how to access data (both structured and unstructured) from the internet, then “clean” and organize it into tables and graphs. They will explore ways of finding patterns in the data and to make predictions about future data. Detailing processes and communicating results will be emphasized. An open-source programming language (e.g., Python or R) will be employed.

COMP 335  Operating Systems  (3)  
Prerequisite: COMP 140 or COMP 253  

Provides an overview of the concepts, functions data structures, and algorithms applied in the design of modern operating systems. Topics include: historical developments, hardware support, operating system components and services, system calls, concurrent processes, CPU scheduling, process coordination, deadlocks, memory management, virtual memory, disk management, file systems, and protection. Current developments in operating systems are given special emphasis.

COMP 350  Network Security  (3)  
Prerequisite: COMP 207  

This course investigates ways in which attackers can infiltrate systems to obtain secured data, including stealing an identity ; using an IP address to gather information through port scanning, sniffing; and attacking password files. Also covered will be countermeasures to protect sensitive information, including implementation of firewalls, discussion of encryption methodologies, biometric devices, and hardening of system installations.

COMP 356  Theory of Programming Languages  (3)  
Prerequisite: COMP 150 or COMP 140  

Provides a historical study of programming language design, structure, and implementation. The emphasis is on the evolution of the procedural languages, but more recent approaches such as object-oriented programming are considered. Some of the languages that may be covered include: FORTRAN, ALGOL, Pascal, Ada, and C+ +. Each language is examined in terms of its data structures, control structures, scope rules, and special syntax and semantic features.

COMP 360  Assembler  (3)  
Prerequisite: COMP 150  

Studies assembly language programming and provides an introduction to machine organization at the hardware level using microprocessor architecture. Topics include: CPU design and organization, I/O hardware and programming, hardware interrupts, memory structures, and digital level hardware device interfacing. Emphasis is placed on the hardware and assembly language support for high level languages and operating systems.

COMP 365  Graphics  (3)  
Prerequisite: (COMP 150 and MATH 181 or MATH 170)  

Offers an introduction to the algorithmic foundations of graphics generation, graphics hardware devices, and 2-D and 3-D modeling applications. Topics include: display algorithms for producing output primitives with various attributes, vector graphs in two and three dimensions, image generation, representation and manipulation, modeling and hidden line/surface elimination, shading and color.

COMP 375  Computer Forensics  (3)  
Prerequisite: COMP 200  

Provides a foundation in computer forensics, introducing issues of digital evidence preservation, covers the steps involved in data acquisition, explores the use of various forensic tools, reviews recovering deleted and partial files, methodology for network investigations, email investigations, and cell phone and mobile device forensics.

COMP 380  Ethical Hacking  (3)  
Prerequisite: COMP 200 and COMP 207  

Covers the skills necessary to assist organizations in securing their online presence. Students will learn ethical concerns, legal issues and the application of tools and technologies. The material will provide the technical skills necessary for white-hat penetration testing and provide the basics to understand and prevent system intrusions.

COMP 400  Database Management  (3)  
Prerequisite: COMP 140  

Introduces students to database theory and design. It combines database design principles with hands-on experience in designing and using a database. Emphasis is on the relational model, focusing on E-R diagrams, normalization, query languages, data definition languages, and security and integrity issues.

COMP 401  Web Server Design/Administration  (3)  

Focuses on the design, implementation, and administration of a WEB Server. It prepares the student to work with a variety of WEB-based tools and addresses security issues. Principal projects in the course will be WEB site creation and database integration.

COMP 411  Graphical User Interface Program  (3)  
Prerequisite: COMP 150  

Introduces students to techniques used in programming graphical user interfaces such as those used in Microsoft Windows. Students will gain experience with programming at least two of the most common GUI’s currently in use. Some emphasis will be placed on the human factors (color combinations, menu placement, visual cues, etc.) associated with programming GUI’s.

COMP 412  Systems Administration  (3)  
Prerequisite: COMP 312  

Prepares the student to administer mini and client-server computer systems. Topics include server administration, templates, scripting, user management, domain group and id creation, maintenance and administration.

COMP 420  Data Communications  (3)  
Prerequisite: COMP 335  

Serves as an introductory course in data communications. Topics include data communication functions, the OSI model, international standards, analog and digital signals, transmission media, synchronous and asynchronous communications, modems, data link protocols, LAN hardware and

COMP 427  Enterprise Distribution Simulation  (3)  

Lets students work in cross-functional teams in a simulation of a logistics operational environment. Student teams must make decisions, implement them in an EPR system and respond to changing business conditions. The simulation may be run as a competition or as a team performance exercise at instructor’s discretion.

COMP 430  E-Business  (3)  
Prerequisite: COMP 241  

Provides a foundation in developing e-commerce and in project planning and management. This course will cover the issues related to e-commerce as well as the development of project plans and presentation of a project proposal. Students will have the opportunity to gain an overall understanding of project development viewing it from both a business and technical perspective.

COMP 440  Artificial Intelligence  (3)  
Prerequisite: COMP 254 or COMP 253  

Offers an overview of the history, principles, and technology underlying modern artificial intelligence. The course focuses on knowledge representation and search techniques in artificial intelligence. Topics include predicate calculus, resolution theorem proving, state space search, production systems, heuristic search, expert systems, semantic nets and frames, natural language understanding, and object-oriented knowledge representation. Students are given experience with Artificial Intelligence programming languages.

COMP 475  Computer Architecture  (3)  
Prerequisite: COMP 360  

Provides an introduction to the functional elements and structures of digital computers. Digital logic, combinational and sequential circuits are studied in lecture and laboratory. The hierarchy of computer organization and how the digital level, microprogramming level, conventional level and assembly language level are interrelated is studied. Also provides an understanding of present day technology including buses, modern input/output devices, operation of a typical IBM PC clone at the chip level, pipelining, cache memories, and current architecture trends such as RISC machines and multiprocessors.

COMP 480  Senior Project  (3)  

Provides senior students with the opportunity of working on a team software development project. The project gives students experience in problem solving, applying technical knowledge obtained in previous Computer Science courses, and improving written and verbal communication skills.

Restrictions: Enrollment limited to students with a semester level of Senior.  
COMP 494  Topics  (1-4)  

Is a title given to a course which covers specific themes, practices, and subject content not currently offered in the curriculum. This course is directed primarily to student majoring in the subject area and could be used to complete major requirements. The course will provide an in-depth study of a specific topic.

May be repeated for up to 4 hours  
COMP 495  Directed Study  (1-3)  

An academic learning experience designed by the instructor. Student must have a 3.0 GPA or higher.

COMP 496  Independent Study  (1-3)  

Requires an advanced application project selected by a team of students or an individual student dependent on interest and language desired. Emphasis is on thorough and professional design, implementation, testing procedures, evaluation, and documentation.

Restrictions: Enrollment limited to students with a semester level of Senior.  
COMP 498  Internship  (0-6)  

Offers on-the-job career training program with regional computer application users to extend the upper level computer science concepts through experience.

Restrictions: Students with a semester level of Junior may not enroll.