COMP1220. Introduction to Computer Science (3)
Provides a broad coverage of topics in computer science and its applications. Investigates the capabilities of computer technology. Includes an introductory experience in programming. Also includes introductions to professional ethics and careers. Prerequisites: An ACT Math score of 23 or higher.
COMP2040. Introduction to Web Development (3)
Introduces students to the world of computer science through the World-Wide Web, focusing on the techniques of web-page creation. No programming background is required, although students will learn some programming through scripting languages. Prerequisites: COMP1220 or Instructor's permission. Offered: Alternate years.
COMP2094. Topics in Computer Programming (1-4)
An intensive study of one programming language not covered in other courses. Prerequisites: Instructor's permission. May be repeated for credit
COMP2120. Introduction to Scientific Programming (3)
An introduction to programming for computationally oriented scientists and engineers. Primary emphasis is on fundamental programming concepts and problem-solving using algorithm thinking. Prerequisites: An ACT score of 23 or higher.
COMP2220. Computer Programming I (3)
Further study of the syntax and semantics of a programming language using object-oriented design methodology. Problem-solving heuristic and algorithm development will be emphasized. Prerequisites: COMP1220 Corequisites: COMP2220L
COMP2220L. Computer Programming I Laboratory (1)
A required laboratory associated with COMP2220. Corequisites: COMP2220
COMP2260. Event-Driven Programming (3)
An introduction to the principles of developing application programs to run in a Windows environment. Development of real-world, multi-form, commercial applications taken from engineering, business, and industry will be emphasized. Prerequisites: COMP2220 Corequisites: COMP2260L Offered: Alternate years
COMP2260L. Event-Driven Programming Laboratory (1)
A required laboratory associated with COMP2260. Corequisites: COMP2260 Offered: Alternate years
COMP2630. Computer Architecture (3)
An introduction to the basic concepts of a computer system and its architecture using the 80x86 microprocessor. This includes memory, control, and arithmetic logic unit (ALU) interactions. Instruction types, formats, and data representation are studied. Prerequisites: COMP2220
COMP2750. Data Structures (3)
Introduction to commonly used computer data structuring techniques. Topics include graphs, stacks, queues, lists, trees, sorting, searching, and memory management. Prerequisites: COMP2220
COMP3094. Special Topics in Computing (1-4)
A study of some areas not covered in other computing courses. Prerequisites: Instructor's permission. May be repeated for credit
COMP3330. Database Design and Programming (3)
An introduction to application program development in a database environment with an emphasis on data structures, file organization, hierarchical network, and relational data models and storage devices. Prerequisites: COMP2750, MATH2310. Corequisites: COMP3330L Offered: Alternate years
COMP3330L. Database Design and Programming Laboratory (1)
A required laboratory associated with COMP3330. Corequisites: COMP3330 Offered: Alternate years
COMP3370. Systems Analysis and Design (3)
A study of techniques and tools used to analyze problems with an emphasis on defining the present state of a system and offering a set of alternative designs, which provide an improved system. The types of optimization criteria and tools for performing this analysis will be investigated with examples from business and engineering. Prerequisites: COMP2220. Offered: Alternate years
COMP3430. Operating Systems I (3)
An introduction to the major concepts of operating system principles. This includes an understanding of the organization and architecture of computer systems at the register-transfer and programming levels of system description. This includes operating system concepts relating specifically to current operating system standards and a formal treatment of programming language translation and compiler concepts. Prerequisites: COMP2630, 2750. Corequisites: COMP3430L. Offered: Alternate years
COMP3430L. Operating Systems I Laboratory (1)
A required laboratory associated with COMP3430. Corequisites: COMP3430. Offered: Alternate years
COMP3440. Operating Systems II (3)
A continuation of COMP3430 Operating Systems I. Prerequisites: COMP3430. Offered: Alternate years
COMP3530. Computer Graphics (3)
An overview of the hardware, software, and techniques used in computer graphics. Topics include 2-D and 3-D transformations, clipping, windowing, display files, surface plots, and fractals. Prerequisites: COMP2630, 2750 Corequisites: COMP3530L Offered: Alternate years
COMP3530L. Computer Graphics Laboratory (1)
A required laboratory associated with COMP3530. Corequisites: COMP3530 Offered: Alternate years
COMP3630. Networks and Data Communications I (3)
A study of digital data communication in computer networks. The problems, rationales, and possible solutions for various communication protocols will be discussed as well as OSI model and various network protocols. Prerequisites: COMP2630, 2750. Offered: Alternate years
COMP3640. Networks and Data Communications II (3)
A continuation of COMP3630 Networks and Data Communications I Prerequisites: COMP3630. Offered: Alternate years
COMP3750. Algorithm Analysis (3)
A medium level algorithmic class to introduce various categories of algorithms, formal specification and verification, and algorithmic schemas for specific problems. The algorithm topics include divide and conquer, backtracking, dynamic programming, string processing, graph algorithms, geometric algorithms, fast arithmetic algorithms, genetic programming, and NP completeness and approximation. Prerequisites: COMP2750. Offered: Alternate years.
COMP3970. Introduction to Senior Project (1)
Presentation of possible topics for the senior software development or research project. Discussion of the style of the written paper and oral presentation. Methods of collecting background information and data will be presented. Attendance at Senior Seminar presentations is required. Prerequisites: Junior classification, Computer Science major.
COMP4330. Machine Learning and Data Mining (3)
An introduction to basic artificial intelligence concepts that are widely used in modern computer systems using bioinformatics as examples. These concepts include learning theory, supervised/unsupervised learning, machine learning applications, association rules, clustering, classification, and data mining applications. Prerequisites: COMP2750. Offered: Alternate years
COMP4430. Compilers (3)
A formal treatment of programming language translation and compiler concepts. Emphasis is on parsing algorithm, translation specifications and development of machine-independent code. Prerequisites: COMP2630, 2750. Offered: Alternate years
COMP4680. Software Development Project (4)
An application of the computer programming and system development concepts, principles, and practices to a comprehensive systems development project. The student may work individually or as a part of a team in the development of a significant software project. Prerequisites: Senior classification, COMP3970
COMP4970. Research (1-3)
Involves the participation of the student with a faculty member in an individual investigative project. Prerequisites: Instructor's permission. May be repeated for up to 4 credits.
COMP4980. Senior Seminar/Capstone (1)
Required of and limited to senior students. The seminar involves the written and oral presentation of the research project completed in COMP4680 or 4970. Prerequisites: COMP4680 or 4970. Must be taken at NNU.