COMP-Computer Science

COMP1220. Introduction to Computer Science (3)

A survey course of the computer science field and an introduction to programming. Topics include: data storage and manipulation within main memory, operating systems, algorithms, programming languages, software engineering, compilers and language translation, networking, data structures, file structures, database structures, and social and legal issues. Prerequisites: MATH1300

COMP2020. Introduction to Web Programming (2)

Students will gain introductory experience of networking and telecommunication fundamentals including LANs, MANs, WANs, intranets, the Internet, and the WWW. Data communication and telecommunication concepts, models, standards and protocols will be studied. Installation, configuration, systems integration and management of infrastructure technologies will be practiced in the laboratory. Prerequisites: COMP1220

COMP2040. Web Development (2)

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: COMP2020; or Instructor's permission

COMP2060. Computer System Maintenance (3)

An introductory course on the maintenance and repair of Intel based Personal Computers. Course content includes hardware maintenance, repair, and configuration; DOS software installation and configuration; Windows installation and configuration; and network trouble isolation as relating to the PC. The course requires working directly with the computer equipment. Prerequisites: 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

COMP2220. Computer Programming in C++ (3)

Further study of the syntax and semantics of the C++ programming language using object-oriented design methodology. Problem-solving heuristic and algorithm development will be emphasized. Prerequisites: COMP1220 Corequisites: COMP2220L

COMP2220L. Computer Programming in C++ 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. Corequisite:  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 & COMP2750 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, COMP2750. Offered: Alternate years

COMP3640. Networks and Data Communications II (3)

A continuation of COMP3630 Networks and Data Communications I Prerequisites: COMP3630. Offered: Alternate years

COMP3650. Networks and Data Communications III (3)

A continuation of COMP3640 Networks and Data Communications II. Prerequisites: COMP3640. 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 programing, 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 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: COMP2750, 2630. 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 (1)

Required of and limited to senior students. The seminar involves the written and oral presentation of the research project completed in COMP4680. Prerequisites: COMP4680. Must be taken at NNU.