Computer Science (COMP)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Offers introductory courses not specifically listed in the catalog. Examples include: SQL, UNIX, Selected Software Applications, and World Wide Web Basics.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
An academic learning experience designed by the instructor. Student must have a 3.0 GPA or higher.
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.
Offers on-the-job career training program with regional computer application users to extend the upper level computer science concepts through experience.