Computer Science
*Asterisk indicates that the course is offered infrequently.
*Programming under UNIX in "C"
CSC 7000 3 cr.
This is an advanced level programming course exploring the C language, emphasizing I/O processing in the UNIX environment. Students will improve their C programming skills while exploring many of the resources made available by modern implementation of UNIX.
Prerequisite: CSC 2560.
Computer Engineering
CSC 7011 4 cr.
This class covers the conceptual and practical aspects of computer systems with emphasis on programmable hardware. Topics to be discussed are: electrical theory, electronic devices, digital logic, computer architecture and low-level microprocessor programming and interfacing.
Advanced Mathematics for Computer Scientists
CSC 7013 3 cr.
This class covers mathematical foundations of computer science as well as mathematical applications in computer science. Modern analysis, linear algebra, mathematical logic, number theory and discrete mathematics will be discussed to highlight their importance for computer science.
The Practice of Computer Programming
CSC 7014 3 cr.
This class covers some of the practical aspects of software engineering through a project based approach which builds confidence and competence in a variety of computer programming paradigms.
Theory of Computation
CSC 7050 3 cr.
This course provides an introduction to theoretical computer science. The course covers the fundamentals of automata theory, formal languages and computability theory. Several distinct models of computation, including the Turing Machine, will be introduced. The concepts of computability, decidability and reducibility will be explored.
Prerequisites: MATH 2400 and CSC 2560.
Operating Systems and Networking
CSC 7132 3 cr.
This course covers the concepts, structure, and operation of modern operating systems and networking. Topics covered include: process management, scheduling, deadlock, memory management, virtual memory, networking, network security, and operating systems in network environments. A working knowledge of a higher-level system programming language and computer data structures is assumed.
*Software Development in Computer Graphics
CSC 7160 3 cr.
This course is about developing in large-scale computer graphics package starting with low-level algorithms and using standard modularization and integration techniques practiced in industry. The course provides an in-depth introduction to state-of-the-art interactive computer graphics algorithms with special emphasis on the GKS standard. 2-D and 3-D viewing, clipping and geometric modeling will be studied. Raster extensions and mathematical algorithms will be presented.
Prerequisites: MATH 2600 and CSC 3700.
Object Oriented Programming
CSC 7200 3 cr.
This course introduces object oriented programming and object oriented design paradigms. Students are expected to have previous exposure to C and another object oriented programming. Topics covered include classes, polymorphism, encapsulation and inheritance, input/output streams, templates, exception handling, file processing and standard template library.
Data Communications and Networking
CSC 7255 3 cr.
This course covers data communications principles, emerging networking technologies and local and wide area networks. Signal transmission analysis, modulation concepts, modems, multiplexers, digital technologies and various transmission models will be extensively discussed. Network protocols will be presented including TCP/IP protocol suite and IEEE 802 standards. Network technologies such as ISDN, xDSL, SONET, packet switching networks, Ethernet and ATM will also be discussed.
Prerequisites: CSC 2560 and 2600.
Object Oriented Analysis and Design
CSC 7400 3 cr.
This course introduces the software engineering principles used in the development of large software products. Topics such as requirements engineering using use cases, systems and software analysis using object-oriented principles, software design using class diagrams and implementation using CASE tools are covered. Project management issues are also introduced.
Database Design
CSC 7500 3 cr.
This course covers concepts of database systems in general and relational database systems in particular. The techniques for database modeling and the concepts of Structured Query Language (SQL) will be studied. The issues involved in the design, implementation, maintenance and security of relational databases will be discussed.
Embedded Systems
CSC 7600 4 cr.
This class covers some of the conceptual and practical aspects of microcontroller-based computer system development. Topics to be discussed are: microcontroller architecture, system specification, interrupt servicing, devise driver design, serial I/O protocols and real-time data processing.
Prerequisites: CSC 1650, CSC 2650.
Client/Server Networking
CSC 8020 3 cr.
Client/server architecture is the standard used in most network applications today. The course is structured to dynamically cover the latest Internet technologies and latest terms and design methodologies used in client/server applications. A final project will include concepts from file systems, CPU scheduling, memory management, virtual memory, distributed computing, concurrency and security. Topics covered include client/server architecture, BSD and Windows socket programming, concurrency/deadlock, HTTP server overview, CGI/Servelets/SOAP, file system interface, Internet proxies, network management and utility classes.
Design and Analysis of Algorithms
CSC 8050 3 cr.
This course introduces the concepts of computational complexity and the complexity classes P and NP. Topics covered include sorting and searching algorithms, graph algorithms, string matching, NP-completeness problems and dynamic programming techniques.
Prerequisite: CSC 7050.
Local Area Networks
CSC 8120 3 cr.
The purpose of this course is to study new techniques in the theoretical design of local area networks, as well as to gain practical experience in the installation, maintenance and management of LAN networks. Security topics, including firewalls, proxy servers and privacy management, will be studied extensively.
Prerequisite: CSC 7255.
Windows Programming
CSC 8180 3 cr.
This course focuses on the development of Windows applications. Students will learn application framework fundamentals and the documentation / view architecture of a Windows application program. Concepts such as Dynamic Data Exchange (DDE) and Multiple Document Interface (MDI) will be implemented. Student projects will include creating application programs that include dialog boxes, pull-down menus and printing options.
Prerequisite: CSC 7200.
*UNIX Network Programming
CSC 8190 3 cr.
This course is designed for experienced C programmers who have no previous network programming experience under UNIX platform. The course includes Ethernet, the TCP/IP family of protocols, sockets, virtual circuits, datagram circuits and programming concepts. Project using the BSD socket interface will be developed in the course.
Prerequisite: CSC 7000.
Advanced Java
CSC 8205 3 cr.
This course covers the emerging and advanced Java technologies used in the 3-tier architecture. Various Swing components used for the front-end user interface, Servelets and JSP used on the Web server and JDBC used for back-end database connectivity are studied extensively. The course begins with a quick review of major topics in object-oriented programming as implemented by Java.
Advanced Network Technologies
CSC 8255 3 cr.
This course covers the emerging and advanced network technologies and architectures such as Fast Ethernet, Gigabit Ethernet, Fiber Channel, Virtual LAN, frame relay, SONET and broadband ISDN. Other concepts such as quality of service, packet over SONET, Multiprotocol Label Switching, Digital Subscriber Line and Voice over IP will also be discussed.
Prerequisite: CSC 7255.
Advanced Operating Systems
CSC 8280 3 cr.
This course provides a high-level review of different responsibilities of an operating system with an emphasis on coding practices of a popular operating system. Major functional components of a modern operating system such as file systems, CPU scheduling, memory management, virtual memory, secondary memory management, concurrency and security will be studied.
Prerequisites: CSC 3100 and CSC 8180.
*Graph Algorithms
CSC 9050 3 cr.
This course introduces various graph algorithms such as shortest path, depth first and breadth first searches, minimum spanning trees, graph connectivity and network flows and graph coverings and colorings. Graph problems are analyzed for the existence of polynomial time algorithms.
Prerequisite: CSC 8050.
Topics in Computer Science
CSC 7600, 8600, 9600 3 cr. each
The objective of the topics course is to study a topic of current interest in computer science. The course serves as a vehicle for curriculum experimentation and/or enrichment. The course of study should provide an understanding of some current advance in computer science and/or greater understanding of a particular topic that is of current interest.
Prerequisites depend on the topic of study.
Internship
CSC 8901 1- 3 Cr.
A three credit on- or off-campus internship requires 12 hours of work each week for 15 weeks. Students apply their knowledge and skills to develop practical solutions to computer science or information technology problems. Approval by graduate chairperson is needed to register for this course. A written report on the work done in the format specified by departmental policy must be submitted to the chairperson to receive a grade.
Prerequisites: 12 S.H. graduate courses in computer science.
Independent Study
CSC 9000 3 cr.
The independent study provides an opportunity for highly motivated students to explore advanced areas of computer science not provided within the departmental curriculum. Approval of the faculty sponsor, consent of the advisor and permission of the chairperson are required.
Prerequisites: 18 S.H. graduate courses in computer science.
Master's Thesis I & II
CSC 9010, 9011 3 cr. each
Students conduct a research project resulting in a thesis. Thesis develops under the guidance of a thesis supervisor and thesis committee. Thesis must be developed and presented according to the guidelines set forth by the college and the department.
Prerequisites: 18 S.H. graduate courses in computer science.
Thesis Continuation I & II
CSC 9012, 9013 3 cr. each
Students that need more time to complete the thesis can register for up to two thesis continuation courses. The credits in these courses may be used for maintaining full-time status, but do not count toward the total credits required for the degree.
Prerequisite: CSC 9011.
|