Department of Mathematics and Computer Science - Northestern State University
Catalog Listing of Computer Science Courses

 

CS 2013 Computer Science I (3 hours)

The focus is on the problem-solving/software construction process.  This will include problem analysis, program design and program coding modem programming languages.   Program style, documentation, algorithms, data structures, procedure, and data oriented modularization, component reuse, abstraction, and program verification are introduced early.  The primary goal is to motivate and introduce principles and program design in a first course.  Prerequisite:  Math 1513, CS 1003, equivalent.

CS 2023 Tech in Modern Society (3 hours)

Designed to help students become aware of the rapidly changing technological developments  in our culture and to be better prepared to deal with these effectively in the  personal, professional, and social aspects of their lives.   Prerequisite: CS 1003 or MIS 1003 or equivalent.

CS 2163 Computer Science II (3 hours)

A continuation of CS 2013 emphasizing advanced procedural and structural programming concepts including searching and sorting,  recursion, pointers/references, dynamic allocation, file IO, user defined types, and advanced problem solving and program design.   Prerequisite: Complete with a grade of C or better, either CS 2013 or an equivalent course.

CS/IS 3023 Object Based Visual Programming (3 hours)

This course will introduce visual programming for the graphical user interface and will emphasize object-based program design and implementation using a visual language.  This foundation will lend itself to an overview of rapid application  development and visual macros in a "document-centric" environment.  Prerequisite: CS 1003 or MIS 1003.

CS 3033 Object Oriented Programming (3 hours)

A continuation of CS 2013 and CS 2163 emphasizing the principles and practice of object oriented programming.  Prerequisite: Complete CS 2163 with a grade of C or better.

CS 3100 Special Topics (1-3 hours)

Directed study of a selected problem or area in computer science.  Prerequisites: May vary by topic; instructor’s approval is required.

CS 3173 Basic Computer Architecture (3 hours)

Fundamentals of computer architecture, registers, addressing techniques, and symbolic languages.  Students write and test program in symbolic languages.   Prerequisite:  CS 2163 or concurrent enrollment and MATH 3023 or concurrent enrollment.

CS 3223 Programming Languages (3 hours)

Compiling theory, techniques, and implementations will be surveyed.  Higher level languages are analyzed in terms of their applicability and suitablility for specific kinds of applications.  Prerequisite:  CS 3173.

CS 3343 Computer Operating Systems (3 hours)

Concepts and facilities of operating systems.  Topics covered include system maintenance, multiprogramming, file access methods, and utilities.  Prerequisite:   CS 3173.

CS 3403 Data Structures (3 hours)

Emphasis is placed on the understanding and manipulatoin of data structures and the accompanying algorithms that perform the creation and manipulation of these structures.   Examples of the use and application of the structures are provided throughout the course, together with guides for the conditions under which one structure or technique should be chosen over another.  Prerequisite:  Math 3023 and complete CS 2163 with a grade of C or better.

CS 3623 Network Security (3 hours)

An introduction to network security principles and implementation including basic security services, attacks, and encryption algorithms. Topics include system security and the analysis and application of network security practices to real life situations such as electronic commerce. Prerequisite: One semester of a programming language.

CS/IS 3663 Principles of TCP/IP (3 hours)

The course will cover the various layers of the TCP/IP stack and relate them to those of OSI/RM.  The course also covers the fundamentals of communication networks, including TCP/IP standards, services, protocols, concepts,  and implementations. Concentrating on the client server model and exploring the architectural design and operation of contemporary network  operating systems, the course incorporates key concepts of packet switched data networks, network architecture,  IP addressing, routing, transport protocols, HTTP, and voice over IP.  Prerequisite: One 2000 level or higher course in CS or MIS.

CS 4023 Introduction to Artificial Intelligence (3 hours)

This course introduces the principles underlying the field of Artificial Intelligence.   The specific topics are:  Problem solving, including game plying, first order logic and inference, decision making under uncretainty, and learning and belief networks.   The course will have programming exercises and projects to build and add capabilities to intelligent agents.  Prerequisite:  CS 2013, CS 3403 OR CS advisor's approval.

CS 4100 Advanced Topics in Computer Science (3-12 hours)

Directed study of a selected problem or topic in computer science. This course may be repeated with a change   in subject matter for a maximum of twelve hours credit.  Prerequisites may vary by topic; instructor’s approval is required.

CS 4113 Computer Science Internship (3 hours)

This course provides an opportunity for Junior and Senior level students to obtain on-the-job experience in an actual computer software and hardware environment before graduation.  The student must be accepted as an intern by an organization that has been approved by the NSU Department of Mathematics and Copmuter Science.   Prerequisites:  At least Junior level status, completed at least two of the follwoing courses or their equivalent:  CS 3173, CS 3403, OR CS 3343, and departmental permission.

CS 4143 Web Applications (3 hours)

An introduction to the development of distributed N-tier applications implemented on networks using the hypertext transfer protocol. Topics include application layer of the TCP/IP stack, developing thin-client applications and rich-client applications using tools such as CGI scripts, Java servlets, ECMAScripting languages, DHTML, XML, cascading style sheets and others. Prerequisite: CS 2163.

CS 4203 Software Engineering (3 hours)

An introduction to software engineering concepts and techniques involving phases and strategies of software development.  Topics include cost-benefit analysis, and computer-aided software engineering (CASE) tools, writing software specifications, software metrics, techniques of software design, development and testing.   Prerequisite:  CS 3403 or CS 3033 or concurrent enrollment in one of these

CS 4223 Game Programming (3 hours)

An introduction to game programming using a high level programming language and one of the current graphics application programming interfaces. Prerequisite: CS 2163 and MATH 3023. No credit for both this course and MATH 4223.

CS 4233 Professional Development in Computer Science (3 or 6 hours)

Students will investigate a topic, apply cumulative knowledge, and use appropriate tools, techniques, and principles in completing a project that has been selected and/or approved by the instructor. The course may be repeated once for a maximum of 6 credit hours with the approval of the instructor, provided that the 6 hours are spent on a single project of sufficient complexity. Prerequisite: Senior Computer Science majors only, CS 4203, and instructor's approval at least 30 days prior to course start date.

CS 4253 Windows Programming (3 hours)

Advanced application programming in the Windows Operating System using a high-level programming language in association with the latest Windows Application Programming Interface. Prerequisite: CS 2163.

CS 4343 Database Management Systems (3 hours)

An introduction to the theory, logical design, implementation, and manipulation of hierarchal,  network, relational, and object database management systems.  Prerequisite: CS 3343 or CS 3033 or approval of the instructor.

CS 4463 Translation Applications (3 hours)

An introduction to the basic elements of formal language theory: regular expressions, automata, and grammars. The theory will be applied to relevant applications such as programming languages, natural language, and/or web publishing languages, HTML and XML. Prerequisite: CS 2163 and MATH 3023.

ENGL 3083 Technical Writing (3 hours)

Techniques and methodologies of writing for technical professions, with emphasis on problem solving and developing conciseness, accuracy, and objectivity. Extensive practice in using a variety of technical formats. Prerequsites: ENG 1113 and 1213. Junior standing in major.

IS 3053 Web Site Design (3 hours)


An introduction to designing and managing web sites. Topics include: browsers, search engines,  HTML markup tags (tables, frames, image maps), graphics, (scanning, retouching, clipping, drop shadows, animated images, and transparent graphics), forms, and programming (VBScript, JavaScript).  Prerequisites: MIS 1003 or MIS 1133 or equivalent.

MATH 3023 Discrete Mathematics (3 hours)

A brief introduction to mathematics topics appropriate for problem solving and computer programming,  including number systems, logic and Boolean algebra, formal systems and methods of proof, sets, operations, relations, functions, combinatorics, and probability.   Prerequisite: Math 1513 or equivalent.

MATH 4223 Computer Graphics (3 hours)

The study of hardware and software principles of interactive computer graphics. Topics Include an Introduction to basic concepts, 2-D and 3-D modeling and transformations, projections, rendering techniques, graphical software packages and graphics systems. An API will be used to reinforce concepts and study the fundamental algorithms. Prerequisite: MATH 2614 and programming experience. No credit for both this course and CS 4223.

MATH 4233 Numerical Analysis (3 hours)

Computational methods for solving algebraic, transcendental, ordinary differential and finite difference equations, and summation of series.  Prerequisite:   Math 2633 and a knowledge of a programming language.

MATH 4403 Mathematical Modeling (3 hours)

Mathematical models of real world situations will be devloped and studied.   Prerequisites:  Math 2633 and knowledge of a computer programming language.