CSC 1710 Introduction to Programming I
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Overview of computer organization, algorithm design, introduction to programming in C++, input/output statements, arithmetic expressions, assignment statements, logical expressions, conditional statements, control statements, functions and function calls, math Library, I/O library, character library, introduction to arrays and pointers, program testing and debugging. | 3 | 0 | 0 | | |
CSC 1720 Introduction to Programming II
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1710 (Minimum Grade of C, May not be taken concurrently)
Built-in and user-defined data types, arrays, lists, strings, records, classes and data abstraction, C++ object-oriented software developments, inheritance, composition, dynamic binding and virtual functions, pointers, dynamic data, reference data types, recursion. | 3 | 0 | 0 | | |
CSC 2710 Assembly Language
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
Corequisites: CSC 1710
Basic PC architecture, computer number systems and codes, basic components of assembly language, assemblers, directives, linking and executing programs, addressing techniques, symbolic instructions, writing .com programs, logic and control, processing string data, processing binary data, processing ASCII and BCD data, defining and processing tables, macros. | 3 | 0 | 0 | | |
CSC 2750 Computer Ethics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Students will study the theory and practice of computer ethics. This will include the basis for ethical decision-making and the methodology for reaching ethical decisions concerning computing matters that impact society as well as students' personal and professional lives. | 1 | 0 | 0 | | |
CSC 3170 Linux Systems Programming
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
The Linux Programming Toolkit, input and output, files and directories, process control, threads, accessing system information, memory management, inter-process communications, TCP/IP and socket programming, UDP, multicast sockets, non-blocking I/O, programming the user interface, shell programming, device drivers, package management, projects | 3 | 0 | 0 | | |
CSC 3410 Computer Graphics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
MTH 2410 (Minimum Grade of D, May not be taken concurrently)
Graphics systems software, graphics systems hardware, object transformation, viewing transformation, rotation, translation, scaling, compositions of transformations, line clipping, polygon clipping, graphics data structures, animation techniques, shading, curves representations, surface representations, texture, image manipulation. | 3 | 0 | 0 | | |
CSC 3450 Object-Oriented Software Construction
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Object-oriented programming techniques, encapsulation, constructors, destructors, overloading, single and multiple inheritance, polymorphism, composition, templates, iterators, member function access, data hiding, abstract classes, exception handling, projects. | 3 | 0 | 0 | | |
CSC 3540 Database Systems and Programming
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
Database management, database system architecture, relational databases, SQL, domains, relations, relational algebra, relational calculus, integrity, views, normalization, database security, database connectivity, database programming, projects. | 3 | 0 | 0 | | |
CSC 4130 Java
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
Java applications, Java applets, control structures, methods, arrays, strings and characters, object-oriented programming, graphics and Java 2D, basic graphical user interface components, exception handling, files and streams, and Java utilities. | 3 | 0 | 0 | | |
CSC 4150 Introduction to Software Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
Software Processes. Software requirements engineering, system models, architectural design, object-oriented design, software reuse, verification and validation, software testing, software cost, quality management, process improvement. | 3 | 0 | 0 | | |
CSC 4160 Software Testing
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Software Bugs, Black Box Testing, White Box Testing, Static Testing, Dynamic Testing, Testing Specifications, Testing Functions and Data, Functional Testing, Regression Testing, Compatibility Testing, Usability Testing, Test Case Design, Test Metrics, Test Coverage, Testing Tools.<p>Recommended prerequisite - CSC 4150 Introduction to Software Engineering. | 3 | 0 | 0 | | |
CSC 4340 Software Systems Verification
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Verification by Formal Proving of Software Systems, Verification of Implementation against both Requirements and Design, Timing Analysis and Verification, Software Security Verification, Model checking, Automata Systems and Temporal Logic, Symbolic Model checking, Verification Tools.<p>Recommended prerequisite - CSC 4150 Introduction to Software Engineering. | 3 | 0 | 0 | | |
CSC 4400 Software Requirements Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 4150 (Minimum Grade of D, May not be taken concurrently)
Tools and techniques for requirements elicitation, requirements specification, requirements analysis, system development and maintenance requirements, problems with specifying requirements, formal modeling of software requirements, prototyping in validating requirements, projects.<p>Recommended prerequisite - CSC 4150 Introduction to Software Engineering. | 3 | 0 | 0 | | |
CSC 4410 Object-Oriented Programming
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
This course is designed to introduce object-oriented programming to students who have had a background in traditional, procedural programming. Topics include object-oriented programming techniques, encapsulation, constructors, destructors, overloading, single and multiple inheritance, polymorphism, composition, templates, iterators, member function access, data hiding. The implementation language will be C++. The course will begin with a description of that part of C++ that is simply part of C (called the kernel language) and then present objects and their implementation in C++. | 3 | 0 | 0 | | |
CSC 4420 Comparative Programming Languages
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of D, May not be taken concurrently)
Comparison of the principles of high-level programming languages, binding of variables, storage allocation, parameter passing, procedure linking, program structures and the program environment. Computer projects. | 3 | 0 | 0 | | |
CSC 4430 Data Structures
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of D, May not be taken concurrently)
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
OR
CSC 4410 (Minimum Grade of C, May not be taken concurrently)
Review of object oriented principles, standard data structures, Big-O notation, NP completeness, stacks, queues, generic data types, dynamic memory, recursion, linked lists, circular lists, doubly linked lists, trees, binary search trees, heaps, graphics, sorting algorithms, searching algorithms, object-oriented language implementation of data structures and algorithms. | 3 | 0 | 0 | | |
CSC 4440 Web Technology
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
Internetworking, HTTP, HTML, XML, JavaScript, Perl, Jscript, Java Applets, CGI, Server-side scripting, Webservers, WebSecurity, E-commerce. | 3 | 0 | 0 | | |
CSC 4450 Numerical Analysis
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Iterative methods, equations in one variable, polynomial approximation, numerical integration and differentiation, polynomial approximation of functions, numerical methods in matrix algebra, least squares method, numerical methods in differential equations including initial value problems, computer projects. | 3 | 0 | 0 | | |
CSC 4490 Operating Systems
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of D, May not be taken concurrently)
CSC 4410 (Minimum Grade of D, May not be taken concurrently)
CSC 4430 (Minimum Grade of D, May not be taken concurrently)
Review of batch processing systems including components, operating characteristics, user service and limitations, implementation techniques for parallel processing of input/output and interrupt handling, overall structure of multiprogramming systems techniques, memory management, file system design and management, system accounting and other user-related services, traffic control, inter-process communication, design of system modules and interfaces, system updating, documentation and operation. Computer projects. | 3 | 0 | 0 | | |
CSC 4500 Software Quality Engineering
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Software Quality Management, Software Quality Metrics, Measurement and Analytical Methods, Software Validation and Verification, Auditing Techniques including Checklists, Sampling Theory, Flow Charts, Pattern/Trend Analysis, Root Cause Analysis, Cause And Effect Diagrams, Pareto Charts, Histograms, Descriptive Statistics, Control Chart Preparation. | 3 | 0 | 0 | | |
CSC 4520 Advanced Java
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 4130 (Minimum Grade of D, May not be taken concurrently)
Advanced graphical user interfaces, multi-threading, Java beans, Java networking, Java database connectivity (JDBC), Java Servlets, Java security, remote method invocation (RMI), Java native interface (JNI), Java 2 micro edition, Java programming with CORBA. | 3 | 0 | 0 | | |
CSC 4540 Computer Security
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of D, May not be taken concurrently)
CSC 4410 (Minimum Grade of D, May not be taken concurrently)
CSC 1710 (Minimum Grade of D, May not be taken concurrently)
MTH 1420 (Minimum Grade of D, May not be taken concurrently)
Computer security software, cryptanalysis techniques, Shannon's Theory, the data encryption standard, public-key cryptography, factoring algorithms, discrete log problems, bit security of discrete logs, signature schemes, cryptography and hash functions, key distribution and agreement, identification schemes, authentication codes, secret sharing schemes. | 3 | 0 | 0 | | |
CSC 4550 Introduction to Artificial Intelligence
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of D, May not be taken concurrently)
CSC 4430 (Minimum Grade of D, May not be taken concurrently)
CSC 4430 (Minimum Grade of D, May not be taken concurrently)
Introduction to artificial intelligence (AI), intelligent agents, solving problems by searching, informed search methods, agents that reason logically, first-order logic, inference in first-order logic, planning, planning and acting, uncertainty, probabilistic reasoning, learning from observation, AI programming languages, projects. | 3 | 0 | 0 | | |
CSC 4570 Software Project Management
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of D, May not be taken concurrently)
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
Project management concepts, project metrics, project planning, risk analysis and management, project scheduling, project tracking, software quality assurance, software configuration management, communicating project information, critical paths, case studies, and term project. | 3 | 0 | 0 | | |
CSC 4590 Computer Simulation and Modeling
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Basic simulation modeling such as in single-server queuing systems, inventory systems, parallel and distributed simulation, continuous and discrete simulation, and Monte Carlo simulation. Modeling of complex systems such as time-shared computer model, multi-teller bank with jockeying, differential equation systems (difference, ordinary, partial), and job-shop models. Discussion of simulation software, review of basic probability and statistics needed in simulation, selecting input probability distributions, and building valid simulation models. Simulation programs will be written and studied. | 3 | 0 | 0 | | |
CSC 4610 Introduction to Data Mining
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1710 (Minimum Grade of D, May not be taken concurrently)
CSC 3540 (Minimum Grade of D, May not be taken concurrently)
CSC 1720 (Minimum Grade of D, May not be taken concurrently)
OR
CSC 4410 (Minimum Grade of D, May not be taken concurrently)
Introduction to data warehousing, data preparation for data mining, classification, association, clustering, prediction, data mining applications, data mining projects. | 3 | 0 | 0 | | |
CSC 4620 Introduction to Bioinformatics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
This course will introduce Molecular Biology and Biological Chemistry, Data Searches and Pairwise Alignments, Substitution Patterns, Distance-Based Methods of Phylogenetics, Character-Based Methods of Phylogenetics, Genomics and Gene Recognition, Protein and RNA Structure Prediction, and Proteomics. Bioinformatics techniques and algorithms will be used. | 3 | 0 | 0 | | |
CSC 4630 Introduction to Formal Languages
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Java overview, relational database overview, basic methods, callable statements, connection methods, database meta data methods, data truncation class methods, data class and methods, driver methods, driver manager class and methods, driver property info class, prepare statement methods, result set methods, result set meta data methods, SQL exception class and methods, SQL warning class and methods, statement methods, time class, timestamp class, types class, JDBC types, mapping SQL and Java types. | 3 | 0 | 0 | | |
CSC 4640 Parallel Programming
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of D, May not be taken concurrently)
CSC 3450 (Minimum Grade of D, May not be taken concurrently)
CSC 4450 (Minimum Grade of D, May not be taken concurrently)
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
Overview of parallel hardware and software, parallel programming tools, parallel numerical integration example, collective communication, grouping data for communication, dealing with I/O, debugging parallel programs, design and coding of parallel programs, performance, advanced point-to-point communication, parallel algorithms. | 3 | 0 | 0 | | |
CSC 4650 Win32 Programming
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Development of graphical user interface Windows applications, using class libraries and applications frameworks, menus and toolbars, drawing in a Window, creating documents and improving views, dialogs and controls, writing personal DLLs, connecting to data sources, OLE documents, active-X controls. Computer projects. | 3 | 0 | 0 | | |
CSC 4670 Distributed Computation
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Prerequisites:
CSC 1720 (Minimum Grade of D, May not be taken concurrently)
CSC 4430 (Minimum Grade of D, May not be taken concurrently)
CSC 1720 (Minimum Grade of C, May not be taken concurrently)
Theory of Distributed Computing, basic algorithms for message passing systems, leader election in rings, mutual exclusion in shared memory, fault-tolerant consensus, causality and time, formal models for simulations, broadcast and multicast, distributed shared memory, fault-tolerant clock synchronization. | 3 | 0 | 0 | | |
CSC 4690 Seminar in Computer Science
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Students prepare and present paper(s) related to their primary area of interest, with approval of the instructor. This course should be taken by computer science majors in their final year of study. | 3 | 0 | 0 | | |
CSC 4860 Software Integration
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
The Business Imperative for Enterprise Integration, Business Drivers and Requirements, Enterprise Integration Strategy, Enterprise Integration Architecture Overview, Current Integration Architecture Assessment, Technical Integration Architecture, Service Integration Architecture, Information Integration Architecture, Process Integration Architecture, Application Integration, Information Integration, Composite Application Integration, Process-Driven Integration, Best Practices for Enterprise Integration, Projects. | 3 | 0 | 0 | | |
CSC 4900 Special Topics
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
Covers some topic of current interest in Computer Science. Topics vary from semester to semester. | 3 | 0 | 0 | | |
CSC 4950 Senior Design Project
| Credit Hours | Recitation/Lecture Hours | Studio Hours | Clinical Hours | Lab Hours |
This is a team-oriented project course in which teams design, implement, test, and document a software system. The instructor will either offer or solicit a selection of projects. Projects may include students from other disciplines. Students should take this course in their final year of study. | 3 | 0 | 0 | | |
|
|