Course Descriptions
CSC 1001 Web Programming 4 cr.
An introduction to basic programming in a webbased environment. Topics include the history of the web, data storage, algorithm development and basic programming . Programming concepts include: variables, data types, arithmetic expressions, control structures, functions, event handling and loops. HTML and JavaScript will be used to develop interactive web pages. Not open to students with credit for CSC 1510 or CSC 1610. Satisfies the mathematics and science distribution requirements. Four hours per week.
CSC 1031 Making Computers Work for You 4 cr.
A basic computer literacy course which includes the historical development of computers, the technological characteristics of computers, and a survey of the nature and significance of computers in our society. The course will also emphasize the use of computers as a problem-solving tool. It will include an introduction to spreadsheet and database management software packages and an introduction to HTML programming and web site development. This course is NOT open to business administration majors, computer science majors or anyone with credit for BE 108A. Students cannot receive credit for both CSC 1031 and BE 108 (or MG 107A or BE 107A). Four hours per week.
CSC 1510 Introduction to Information Technology 4 cr.
This course provides an introduction and overview to Information Technology and its applications in the workplace. Topics include: the history of computing, how computers work, information management, user-centered design, networking, operating systems, the Internet, the Web and a short introduction to programming (creating dynamic web pages using HTML and Javascript). The goal of the course is to introduce students to the components of Information Technology. Satisfies the mathematics and science distribution requirement. Four hours a week.
CSC 1610 Computer Science I 4 cr.
An introduction to computer science techniques with an emphasis on algorithm development and structured programming. Implemented in C++. Topics include program development, modularity, streams, control structures, functions, recursion, ADTs, structs, arrays. (Only for CS majors, minors, Math majors, EE majors and students con¬sidering a major or minor in Computer Science of permissions of instructor). Satisfies the mathematics and science distribution requirements. Three one hour lectures per week and a weekly one hour lab.
CSC 2051 Assembly Language 2 cr.
Computer structure and machine language, representation of numeric and character data, mnemonic operations including the data transfer, arithmetic, branching, and bit manipulation operations, symbolic addressing, addressing modes, subroutines and procedures, macros, and input / output as they are implemented on an IBM PC (Pentium). Prerequisites: CSC 1610. Two hours of lecture per week.
CSC 2520 C on Unix I 2 cr.
This course introduces the Unix/Linux Operating system and system programming in C. Students will be familiar with Unix/Linux environment, including Unix/Linux command line interface, commonly-used commands, file system, shell, and terminal and device input/output. An overview of C programming language will also be given with the emphasis on some critical features such as pointers. Then students will learn how to implement simple Unix commands and system programs in C. Prerequisite: CSC1610. Fours hours per week, first half of the semester.
CSC 2530 C on Unix II 2 cr.
This course continues the study of Unix/Linux system and system programming in C. Students will learn more C standard library functions, Unix/Linux system calls, and how to use them to write system programs. The Unix programming philosophy will be presented as well as the preparation of Unix document. Prerequisite: CSC2520. Fours hours per week, second half of the semester.
CSC 2555 Theory of Computation 4 cr.
A study of the theoretical foundations of computer science and computability. Students will explore formal languages (regular and context free languages), their acceptance by finite state automata, and their description by regular expressions and context free grammars. Turing machines will be studied and the Church-Turing Thesis. The limitations of algorithmic computation will be examined. Students will apply theoretical concepts to concrete problems. Prerequisite: CSC 2820, MTH 1314. Four hours a week.
CSC 2620 Computer Science II 4 cr.
A study of the Object Oriented paradigm and its key concepts: data abstraction, inheritance, information hiding, polymorphism, and encapsulation. Object Oriented Design and Analysis concepts will also be introduced and implemented using UML. Programs illustrating key concepts will be written in Java. This course will end with an independent final project. Prerequisite: CSC 1610 or consent of the instructor. Four hours per week.
CSC 2820 Data Structures 4 cr.
Basic concepts in the representation and manipula¬tion of data. Topics include: data abstraction and classes, dynamic memory, classes, linked lists, stacks, queues, trees, sorting techniques, graphs, hashing and the Standard Template Library. Topics will the implemented with in-class labs and independent projects. Prerequisite: CSC 2620. Corequisite: MTH 1314. Four hours per week.
CSC 3120 Programming Language Principles 4 cr.
This course discusses several programming language paradigms, including imperative, functional, logic and object-oriented languages. The core issues in language design covered in the class include data type, control flow, binding and scope, function and parameter passing. A specific language in each paradigm will be introduced as a case study. Students will write several programs in each language. Prerequisite: CSC2820. Four hours per week.
CSC 3205 Net-Centric Computing 4 cr.
A study of net-centric computing and web systems programming. Topics include: multithreading, networking, security, database connectivity, and server side programming. This course will end with a final project. Prerequisites: CSC 2620 and Junior standing. Four hours per week.
CSC 3320 Operating Systems 4 cr.
This course will provide a clear description of the concepts that underlie any operating system. Topics discussed will include process management, input/output, memory management, the file system, protection and security, concurrency, and distributed systems. Examples drawn from UNIX and Microsoft Windows will be used. Programming projects will introduce students to system level programming. Prerequisites: CSC 1620. Four hours per week.
CSC 3335 Artificial Intelligence 4 cr.
A one semester introduction to the concepts, techniques and tools of artificial intelligence. Topics covered include representation, vision and image processing, syntax and parsing, varieties of search, logic and deduction, elementary memory organization, expert systems, planning and neural nets. In addition to theoretical discussion, LISP programs illustrating major topics are studied and used. Prerequisite: CSC 1620. Four hours per week.
CSC 3500 Human Computer Interaction 4 cr.
This course introduces the students to user-centered design. Topics include: cognitive principles (perception, memory, problem solving), understanding the users of a system, designing and developing effective interfaces, ergonomics, usability testing, and usability standards. Prerequisite: CSC 1001 or CSC 1510 or FAA 3870. Four hours a week.
CSC 3510 Information Technology Systems 4 cr.
This course will focus on building a semester long project integrating the basic components of an Information Technology system, including networking, web systems, databases, scripting, system administration and maintenance, and system integration. Students will work in teams to solicit client requirements and build a system. Pre-requisite: CSC 3205. Four hours per week.
CSC 3710 Analysis of Algorithms 4 cr.
Introduction to the basic principles and techniques for analyzing algorithms. A discussion of the asymptotic complexity of algorithms using standard measures in the best, average and worst cases. Applications of the basic principles and techniques and study of upper and lower bounds of standard computer science problems including: searching, sorting, graph, string matching, polynomial, and matrix algorithms. Introduction to NP-completeness problem will also be discussed. Prerequisites: MTH 1314, MTH 1218, and CSC 1620 or consent of instructor. Four hours per week.
CSC 3720 Computer Architecture 4 cr.
The course covers the analysis and design of the major elements of a digital computer. The specification of the interconnection of these elements to form a digital computer is also covered. This specification is accomplished with the aid of a special purpose register-transfer language (similar to a programming language). Control of the register-transfer sequence is treated from both the hardwired and microprogrammed viewpoints. Interrupts and I/O are treated. The MIPS Assembly Language will also be covered throughout the course. Prerequisites: EEN 1200. Four hours per week.
CSC 3725, MTH 3725 Numerical Analysis 4 cr.
Theory and application of selected topics from Numerical Analysis. Topics include: solutions of equations and systems of equations, interpolation, numerical differentiation and integration, and numerical solution of differential equations. Error bounds are treated. Emphasis given to methods that can be implemented on a computer. If time allows, other topics may be added such as Least Squares and Eigen Values. Prerequisites: MTH 1218 and CSC 1610 (or consent of the instructor). Three hours of lecture a week and a weekly one hour lab.
CSC 3810 Database Principles 4 cr.
The study of the concepts and structures necessary to design and implement a Database Management System (DBMS) focusing on modern relational database models. Data design and models will be examined. Topics include relational database models; database modeling concepts; schemas; external, conceptual and internal normalization; DDL and DML, primarily SQL; file organizations; concurrency control; security controls; database administration, recovery and restart procedures, and object-oriented databases. Prerequisites: CSC 2620. Four hours per week.
CSC 3925 Data Communications 4 cr.
An introduction to the fundamentals of data communications for the computer scientists. Topics include asynchronous and synchronous transmission, analog and digital transmission of data, modulation and demodulation, multiplexing, transmission median, common carriers, communication devices, error control and recovery, message switching, packet switching, LANS, polling techniques, protocols, distributed data processing, High Speed LANS, Network Security, Spread Spectrum, and Cellular Wireless Networks. Prerequisites: CSC 1610 and Junior standing. Four hours per week.
CSC 4055 Computer and Network Security 4 cr.
This course is a survey on the network and computer security technology. All of the basic building blocks of network security, including conventional and public key cryptography, authentication, digital signature, and many of the techniques used to protect computers will be covered. This is a required course for all CS Majors taking the IT Option and an elective for all others. Prerequisites: CSC 1610 and Junior Standing. Four hours per week.
CSC 4105 Computer Graphics 4 cr.
This course is intended as an introduction and survey of the field of computer graphics. It will cover such topics as software and hardware for graphics displays, developing graphics packages using line-drawing algorithms, clipping, two-dimensional transformations, bitmap graphics, Bezier curves and splines, three-dimensional graphics, hidden-line removal and shading. Prerequisites: CSC 1620. Three hours of lecture a week and a weekly lab.
CSC 4205 Parallel Computing 4 cr.
This course provides an introduction to parallel computing. Topics will include parallel architectures, parallel programming techniques and languages, the study of existing parallel computing systems, and performance analysis. Students will use a group of multi-core computers to explore current libraries and methods used for parallel programming. Students will also implement a significant parallel program of their choice on a group of multi-core computers or other parallel hardware. Prerequisite CSC 2820. Four hours per week.
CSC 4805 Directed Study, Special Projects 4 cr.
Qualified students may propose a course of individual study and work to be conducted under the direction of a faulty member. May be taken more than once. Prerequisite: consent of the instructor with approval of department.
CSC 4860/EEN 4860 Data Networking 4 cr.
The Internet is the mainstream pathway for data communications today. The major components studied include both the hardware elements: hubs, switches, bridges, and routers and the major software elements: Five layer TCP/IP stack. The student will learn about all of these in detail during class and laboratory assignments. Prerequisite: CSC 3925. Three hours of lecture and one three-hour laboratory period per week.
CSC 4905 Computer Science Seminar 4 cr.
Special topics class.
CSC 4910 Software Engineering 4 cr.
A study of methods for designing, developing, and maintaining software systems, particularly large systems with multiple developers who must cooperate effectively to produce a quality product. Included are methods for analysis, specification, user interface design, software design, testing, implementation and maintenance. The major focus of the course is a semester long project where the students work in software development teams to produce a small software system. This course serves as a capstone course. Senior computer science majors call on a variety of knowledge and skills to complete their project. Prerequisites: Senior status. Three hours of lecture a week plus a weekly conference with faculty.