You Are Here:

HomeAcademic InformationCourses › Computer Science Course Descriptions

Computer Science Course Descriptions

1113 COMPUTER LITERACY
A study of the basic computer operations, the role of computers in society, and some applications in business, industry, and education. (Does not count toward the Computer Science major or minor.)
1213 BASIC COMPUTER PROGRAMMING
Conditional transfers, reading, printing, loops, lists, tables, functions, subroutines, strings, conversational programming.
1313 LOGIC AND PROBLEM SOLVING
This course is the study of sound reasoning and the application of this reasoning to problem-solving. In the course we will discuss many approaches to problem-solving such as step algorithms, flow charts, set theory, truth tables and Warnier programs. Students will learn techniques to translate real life problems into forms which will enable computer programs to solve them. These techniques or tools should allow students to create and design programs that will be dependable and correct.
1513 PASCAL PROGRAMMING
Problem-solving, programming style and documentation, block structured programming, subprograms, user defined data types. (Prerequisite: CS 1313 or equivalent)
1523 ADVANCED PASCAL PROGRAMMING
Elementary data structures (linked lists, stacks, queues, binary trees); recursion theory; algorithms (sorting and searching). (Prerequisite: CS 1513)
1613 COMPUTER SCIENCE I
Introduction to computer programming. The entire process of creating software is examined from analysis and design to coding and testing. An emphasis is placed upon problem-solving using top-down and bottom-up techniques. Language features include data types, functions, program flow control, and input/output.
1623 COMPUTER SCIENCE II
Objects and classes are introduced in an examination of inheritance and polymorphism. Project management techniques including make files and debugging tools are discussed. Language features explored include dynamic memory management, parameter passing, name overloading and multidimensional arrays. (Prerequisite: CS 1613 with a grade of C or better)
2113 SCIENTIFIC PROGRAMMING
Arithmetic expression, order of operations, input/output, branching, loops, flow charting and debugging, decision making, format specifications, arrays, subprograms. (Prerequisites: CS 1313 or equivalent, and MATH 1513 or equivalent)
2123 ANSI C PROGRAMMING
Structured programming using the C language. Special emphasis on structures, unions, pointers, and input/output. (Prerequisite: CS 1313 or equivalent)
2233 NON-PROCEDURAL AND FOURTH GENERATION LANGUAGES
Computer programming using non-procedural languages such as RPG, ADA, and object oriented programming languages.
2510 SEMINAR IN PROGRAMMING
An additional computer programming course using the languages specified such as, but not limited to Pascal, Java, Fortran, Visual Basic, and other languages deemed appropriate. Fundamental programming skills are assumed as this course emphasizes the particular aspects of the specified lan-guage. This course is repeatable for credit with a different language specification. (Prerequisite: CS 1623 with a grade of C or better)
2733 ASSEMBLY LANGUAGE PROGRAMMING
Introduction to the operational organization of computers, machine codes, and in machine and symbolic assembler language. (Prerequisite: CS 1313 or equivalent)
2813 DATA STRUCTURES
Computers require information to be organized in a time and space efficient manner. The performance analysis and implementation of common structures including lists, queues, stacks, trees, heaps, and hash tables are the central themes of the course. In addition, students will incorporate existing libraries of structures with their programs. (Prerequisites: CS 1623 and MATH 2013, both courses must be passed with a grade of C or better)
3133 COMPUTER GRAPHICS
Computer graphics related hardware and software needs. Two dimensional graphics (scaling the screen, clipping, viewports, transformations, rotations, homogenous coordinates). Analytical Geometry, rectangular coordinates, polar coordinates. Three dimensional graphics: left-hand and right-hand coordinate system transformations, two dimensional images of three dimensional objects, hidden line/surface elimination, animation. (Prerequisites: CS 2813 and MATH 2215)
3143 COMPUTER ARCHITECTURE
A study of computer organization and operation. Includes hardware structure, machine and assembler languages, and software systems. (Prerequisite: CIS 2813 or CS 2813)
3323 ADVANCED DATABASE ANALYSIS
Advanced database concepts such as custom reports generated by SQL, relational tables, integration of databases with web site interfaces, and compatibility issues with current internet programming platforms. Several commercially available database systems in use will be utilized for the solution of complex and comprehensive business and industry case studies (Prerequisite: CIS 3123 or CS 2813)
3443 INTRODUCTION TO OPERATIONS RESEARCH
Introduction to operations research, linear programming, transportation problem, integer programming, parametric programming. (Prerequisites: CS 2813, MATH 2215, and STAT 2153)
3513 NUMERICAL ANALYSIS
Numerical algorithms, power series approximation to functions, roots of equations, systems of equations, numerical integration, curve fitting. (Prerequisites: CS 2813, MATH 2215, and STAT 2153)
3613 COMPUTER ASSISTED INSTRUCTION
Gives prospective teachers of computer science some background in the development of material for computer presentation. Study a variety of languages (PILOT, LOGO, etc.), introduce available microcomputer software for education. (Does not count toward the major or minor in Computer Science or Computer Information Systems)
4003 ESSENTIAL HARDWARE AND SOFTWARE ANALYSIS
Fundamental topics in computer hardware, software implementations and electronics. Topics include general troubleshooting, diagnostics, upgrade and repair, peripherals management, installation and un-installation of software. (Prerequisite CS 1613 or TECH 1263)
4113 OPERATING SYSTEMS
Batch systems, assemblers, macros, loaders, compilers, advanced operating systems, multipro-gramming, multiprocessing. (Prerequisites: CS 3143)
4223 ALGORITHM ANALYSIS
Advanced programming techniques, algorithm analysis, time and space analysis, special topics, searching, sorting, file processing, peripheral devices. (Prerequisites: CS 2813, MATH 2215 and STAT 2153)
4313 COMPILER CONSTRUCTION
Translation concepts, arithmetic expressions, models of grammar, parsing, structure of translation trees. (Prerequisite: CS 3143)
4323 PROGRAMMING LANGUAGES
Advanced features of several programming languages and their associated data structures, run-time stacks, memory management, scope rules, sub-programs, special purpose languages and advanced features of conventional languages. (Prerequisites: CS 3143)
4343 APPLIED NET-CENTRIC COMPUTING
This course focuses on integrating the class knowledge in computer science and internet technology together and applying those skills in local/wide area networks and virtual private network. Topics include: web technologies, network architecture, protocols, applications, management, and security. In addition, the network hands-on projects for students will include: configuring network services/servers such as DNS, DHCP, NATP, Firewall, TELNET, FTP, SSH, Email, Newsgroup, Database, and Web Servers, implementing the Network File System and Network Information System, sharing resources between Unix/Linux and Windows network systems and developing a Three-tier Database-driven on-line E-Commerce application. (Prerequisite: CIS 3223)
4413 SYSTEMS ANALYSIS
Producing quality software on time and under budget that meets all user requirements through the software life cycle techniques. Cost estimation, project management, testing, and maintenance are stressed. (Prerequisites: 90 hours toward a baccalaureate degree) (Same as CIS 4413)
4423 SOFTWARE ENGINEERING
Practical application of systems software development using techniques learned in previous courses. Should be taken toward the end of a student’s academic training. (Prerequisite: CS 4413) (Same as CIS 4423)
4513 SYSTEMS SIMULATION
Basic probability and statistics concepts, population and sampling, use of computers in simulated sampling, modeling, GPSS, CSMP. (Prerequisite: CS 3143, MATH 2215, and STAT 2153)
4523 DISCRETE STRUCTURES
Set theory, graphs, algebras, and abstract machines. (Prerequisites: MATH 2215 AND MATH 2013)
4623 ADVANCED WEB-BASED APPLICATION DEVELOPMENT
This course is to provide a comprehensive introduction to developing Web applications using the Microsoft .NET platform. Topics include: understanding ASP.NET and the .NET architecture, building Windows and Web applications using rapid applications development techniques, developing Web forms with server controls, displaying dynamic data from a database using ADO.NET, creating Web services and deploying Web applications. In addition, topics on HTTP,XML,SOAP,WSDL and C#or VB.NET will introduced as well. (Prerequisites: CS 1623,CIS 2343 and CIS 3323)
4633 SENIOR CAPSTONE PROJECT
Students will learn to develop software products from scratch by applying a variety of computing skills that they learned in the curriculum. Topics include: HTML, SML, Scripting Language, CGI, Database design. (Prerequisites: CS 1623, CIS 2343 and CS 3323)
4643 DISTRIBUTED NETWORKS
The purpose of this course is to learn the general concepts of distributed network computing and to realize how those concepts have been applied in computer network technologies. Also, the advantages and disadvantages of those technologies will be discussed. Topics to be covered include: Basic Graph Concept, Distributed Network Computing-Sequential and Distributed algorithms, Network Protocols (TCP/IP, Multicast, and other protocols), Wireless and Multimedia Networks, Network Security, and Network Management (Prerequisite: MATH 2013, CIS 3223, and CS 2813 with grade of C or better)
4903 METHODS & MEDIA: SECONDARY COMPUTER SCIENCE
Survey some of the hardware and software that are candidates for a secondary curriculum. Development of material to be presented in a secondary curriculum. A lab course in which several methods of teaching computer science at the secondary level will be surveyed. (Will not count toward the major or minor in computer science.)
4950 INTERNSHIP
Supervised-site experience in computer science or computer information systems gained through work. Weekly and term reports required. (Prerequisite: Departmental approval)
4960 DIRECTED READING
(Prerequisite: permission of the department)
4970 SPECIAL STUDIES
(Prerequisite: permission of the department)
4980 SEMINAR
(Prerequisite: permission of the department)
5003 INFORMATION TECHNOLOGIES
Overview of emerging computer technologies, their roles in society, and their implications to citizens, business organizations and government. The history and current development of both the Internet and Intranets and their applications in business, education, and science will be discussed. Current topics such as information system architectures, cryptography, copyrights, and personal privacy will be covered in depth. (Prerequisite: CIS 2433 or equivalent)
5103 FOUNDATIONS OF COMPUTER SCIENCE
This course covers the mathematical and theoretical foundations of computer science. Topics include logic, proof techniques, recursion and recurrence relations, analysis of algorithms, combinatorics, basic data models/structures (sets, relations, linear models, trees, and graphs), and introductory computer theory (language theory, regular expressions, computability, NP-completeness, Turing Machines, etc.). CS5103 presents computer science from a mathematical and theoretical point of view, although implementation issues will be discussed. (Prerequisite: CS 1623 or CIS 1623)
5123 COMPUTER SCIENCE FOR TEACHERS I
Survey of computers, computer operations, auxiliary equipment programming in a compiler level language. (Prerequisite: MATH 1513)
5133 OPERATING SYSTEMS
Batch systems, assemblers, macros, loaders, compilers, advanced operating systems, multipro-gramming, multiprocessing. (Prerequisites: CS 3143)
5143 PROGRAMMING FOR MANAGEMENT
Applications of computing science techniques and statistical methods to managerial decision making.
5213 ALGORITHM ANALYSIS
Advanced programming techniques, algorithm analysis, time and space analysis, special topics, searching, sorting, file processing, peripheral devises. (Prerequisites: CS 2813, MATH 2215 and STAT 2153)
5313 COMPILER CONSTRUCTION
Translation concepts, arithmetic expressions, models of grammar, parsing, structure of translation trees. (Prerequisite: CS 3143)
5323 PROGRAMMING LANGUAGES
Advanced features of several programming languages and their associated data structures, run-time stacks, memory management, scope rules, sub-programs, special purpose languages and advanced features of conventional languages. (Prerequisites: CS 3143)
5413 SYSTEMS ANALYSIS
Producing quality software on time and under budget that meets all user requirements through software life cycle techniques. Cost estimation, project management, testing, and maintenance are stressed. (Prerequisite: departmental approval)
5423 SOFTWARE ENGINEERING
Practical application of systems software development using techniques learned in previous courses. (Prerequisite: CS 4413)
5623 ADVANCED WEB BASED APPLICATION DEVELOPMENT
This course provides a comprehensive introduction to developing Web applications using the Microsoft.NET platform. Topics include: understanding ASP.NET and the .NET architecture, building Windows and Web applications using rapid applications development techniques, developing Web forms with server controls, displaying dynamic data from a database using ADO.NET, creating Web services and deploying Web application. In addition, topics on HTTP, XML, SOAP, WSDL, and C# or VB.NET will be introduced as well. (Prerequisites: CS 1623, CIS 2343 and CS 3323)
5643 DISTRIBUTED NETWORKS
The purpose of this course is to learn the general concepts of distributed network computing and to realize how those concepts have been applied in computer network technologies. Also, the advantages and disadvantages of those technologies will be discussed. Topics to be covered include: Basic Graph Concept, Distributed Network Computing-Sequential and Distributed Algorithms, Network Protocols (TCP/IP, Multicast, and other protocols), Wireless and Multimedia Networks, Network Security, and Network Management. Graduate students will be required to do extra projects and research reports. (Prerequisite: MATH 2013, CIS 3223, and CS 2813 with grade of C or better)
5960 DIRECTED READINGS
5970 SPECIAL STUDIES
5980 SEMINAR
5990 RESEARCH FOR MASTER'S THESIS
Independent investigation designed in consultation with the student's graduate advisory committee. (Prerequisite: department approval)