Computer Science Course Description(s)
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. Offered: Alternate years. Prerequisites: COMP1220 or Instructor's permission.
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: ENGR1010, COMP1220, COMP 1220 or ENGR1010 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. Offered: Alternate years. Prerequisites: COMP2220 Corequisites: COMP2260L
COMP2260L Event-Driven Programming Laboratory (1)
A required laboratory associated with COMP2260. Offered: Alternate years. Corequisites: COMP2260
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. Offered: Alternate years. Prerequisites: COMP2750, MATH2310 Corequisites: COMP3330L
COMP3330L Database Design and Programming Laboratory (1)
A required laboratory associated with COMP3330. Offered: Alternate years. Corequisites: COMP3330
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. Offered: Alternate years. Prerequisites: COMP2220
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. Offered: Alternate years. Prerequisites: COMP2630, COMP2750 Corequisites: COMP3430L
COMP3430L Operating Systems I Laboratory (1)
A required laboratory associated with COMP3430. Offered: Alternate years. Corequisites: COMP3430
COMP3440 Operating Systems II (3)
A continuation of COMP3430 Operating Systems I. Offered: Alternate years. Prerequisites: COMP3430
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. Offered: Alternate years. Prerequisites: COMP2630 Corequisites: COMP3530L
COMP3530L Computer Graphics Laboratory (1)
A required laboratory associated with COMP3530. Offered: Alternate years. Corequisites: COMP3530
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. Offered: Alternate years. Prerequisites: COMP2630, COMP2750
COMP3640 Networks and Data Communications II (3)
A continuation of COMP3630 Networks and Data Communications I. Offered: Alternate years. Prerequisites: COMP3630
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. Offered: Alternate years. Prerequisites: COMP2750
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. Offered: Alternate years. Prerequisites: COMP2750
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. Offered: Alternate years. Prerequisites: COMP2630, COMP2750
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: COMP3970, Senior classification
COMP4970 Research (1-3)
Involves the participation of the student with a faculty member in an individual investigative project. Prerequisites: May be repeated for up to 4 credits., or instructor's approval.
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 COMP4970. Must be taken at NNU.