Undergraduate Catalog Home TTU Home
 Navigation
Search powered by Google
Area Navigation  
 

COMPUTER SCIENCE (CSC)


A Computer Science minor should have completed CSC 2020/2021, plus six hours of upper division computer science courses for a total of at least 15 hours in Computer Science (not to include CSC 1100 or CSC 1070).

A computer science major is required to complete all prerequisite computer science courses with a grade of C or better before enrolling in a subsequent course.

CSC (MATH, PHYS) 1020. First-Year Connections. Rec. 2. Credit 1.
This course is intended as a bridge course for students entering TTU from high school. The course is designed to strengthen the student’s connection to TTU, the College of Arts and Sciences, and the appropriate department (CSC, MATH, or PHYS) by focusing on the enhancement of skills needed for academic success. This course engages the student in meaningful academic and non-academic out-of-the-classroom activities, as learning occurs both in and out of the classroom. It emphasizes critical thinking, the formation of academic and social goals and support groups, and time-management and study skills.

CSC 1070. Elementary Programming. Lec. 3. Credit 3.
Prerequisite: MATH 1010 or equivalent.  Introduction to programming including loops, arrays and applications in various disciplines. (For CSIT option and non-computer science majors only.)

CSC 1100. Introduction to Computing. Lec. 3. Credit 3.
Prerequisite: MATH 1010 or equivalent. Credit cannot be obtained for CSC 1100 in addition to credit for either DS 2810 or FOED 3240.  Use of software for word processing, spreadsheets, database, etc., on a personal computer; organization of computer hardware. (For CSIT option and non-computer science majors only.)

CSC 1610. Discrete Structures for Computer Science. Lec. 3. Credit 3.
Corequisite: MATH 1830 or 1910. Applications of discrete mathematics to computer science, sets and boolean algebra, relations, and graphs, with applications to computer logic and data structures.

CSC 2001. Introduction to Computer Science. Lec. 3. Credit 3.
Fundamental concepts of computing, problem solving, and algorithm development with an introduction to computer programming.

CSC 2010. Introduction to Computer Science. Lec. 3. Credit 3.
Prerequisite: CSC 2001 or ENGR 1210. Corequisite: CSC 2011, MATH 1730, or equivalent. Digital computers, problem solving and algorithm development, programming in an object-oriented language, and methods and style are emphasized.

CSC 2011.  Introduction to Computer Science Laboratory.  Lab. 2.  Credit 1.
Prerequisite: CSC 2001 or ENGR 1210. Corequisites:  CSC 2010, MATH 1730, or equivalent.  A series of weekly laboratory exercises for developing proficiency in object-oriented programming and problem solving.

CSC 2020. Data Structures & Programming Techniques. Lec. 3. Credit 3.
Prerequisite: CSC 2010 and CSC 2011.  Corequisite: CSC 1610 and CSC 2021. Program design and implementation, abstract data types, recursion, searching, sorting, trees, and running time analysis.

CSC 2021.  Data Structures and Programming Techniques Laboratory.  Lab. 2.  Credit 1.
Prerequisites:  CSC 2010 and CSC 2011.  Corequisite:  CSC 2020.  A series of weekly laboratory exercises for developing proficiency in implementing and utilizing data structures.

CSC 2100. Introduction to Problem Solving and Computer Programming. Lec. 3. Credit 3.
Corequisite: MATH 1710 or equivalent. Digital computers; problem solving and algorithm development; programming is introduced using a procedural approach, but classes and object-orientation are introduced; design and testing are emphasized.

CSC 2110. Data Structures and Algorithms. Lec. 3. Credit 3.
Prerequisites: C or better in CSC 2100. Corequisites: CSC 2111 and CSC 1610. Abstract data types and fundamental data structures including stacks, queues, and trees; algorithms to search, sort, and manipulate data using such structures; and introduction to runtime analysis.

CSC 2111. Data Structures and Algorithms Lab. Lab 1. Credit 1.
Prerequisites: C or better in CSC 2100. Corequisites: CSC 2110. A series of weekly laboratory exercises for developing proficiency in implementing and utilizing data structures.

CSC 2120. Object-Oriented Programming and Design. Lec. 3. Credit 3.
Prerequisites: C or better in CSC 2110 and CSC 2111. Corequisite: CSC 2121. Theory and practice of object-oriented programming and design. Encapsulation, inheritance, dynamic binding, and polymorphism; and introduction to UML and design patterns.

CSC 2121. Object-Oriented Programming and Design Lab. Lab 1. Credit 1.
Prerequisites: C or better in CSC 2110 and CSC 2111. Corequisite: CSC 2120. A series of weekly laboratory exercises for developing proficiency in object-oriented programming and design.

CSC 2300. C/C++ in Unix. Lec. 3. Credit 3.
Prerequisites: CSC 2020, CSC 2021, MATH 1910, or equivalent. The course introduces students to facilities, tools and development procedures using a language (currently C/C++) most suitable for systems programming. The course utilizes the LINUX operating system, which provides a good environment for systems programming work.

CSC 2400. Design of Algorithms. Lec. 3. Credit 3.
Prerequisites: CSC 1610, CSC 2020, and CSC 2021. Corequisite: MATH 1920. Advanced data structures and applications, problem solving strategies, heuristics, and complexity of algorithms.

CSC 2500. Unix Laboratory. Lec. 1. Lab. 1. Credit 1.
Prerequisites: CSC 2020 and CSC 2021. Introduction to the facilities, tools, and development procedures in an environment designed for systems programming.

CSC 2710. Foundations of Computer Science. Lec. 3. Credit 3.
Prerequisite: CSC 1610. Corequisites: CSC 2020 and CSC 2021. Application of discrete structures to model computational processes; techniques for analysis of algorithms; and automata and concepts of language theory.

CSC 2901, 2902, 2903. Special Topics. Credit 1-3.
Prerequisite:  Consent of instructor.  Timely topics in computer science.  Individual courses may not be repeated either for credit or for improvement of credit.

CSC 3020. Numerical Methods. Lec. 3. Credit 3.
Prerequisites: CSC 2010 and 2011 or ENGR 1120, MATH 1920. Linear and non-linear equations; convergence and error analysis; quadrature; interpolation; numerical differentiation and integration; first order differential equations; boundary value problems; and approximation of functions.

CSC 3030. Practical and Professional Issues in Computer Science. Lec. 1. Lab. 1. Credit 1.
Prerequisite: CSC 2020, CSC 2021, and junior status. Required for all computer science majors, including transfer students. Written, oral, and audio-visual communication in computer science; presentation techniques, report preparation, and technical correspondence. Social, ethical, and career aspects of computing.

CSC 3310. Computer Logic and Sequential Design. Lec. 3. Credit 3.
Prerequisites: CSC 2010, CSC 2011, and CSC 1610. Number systems and codes; Boolean algebra and logic gates; combinational logic MSI and LSI circuits; ROM; flip-flops; clocked sequential circuits; and logic design for counters, registers, and RAM.

CSC 3340. Deterministic Computer Models. Lec. 3. Credit 3.
Prerequisites: CSC 2020, CSC 2021, and MATH 2010. Formulation and application of the models of linear, non-linear, integer, and dynamic programming including computer solutions of the algorithms.

CSC 3350. Probabilistic Computer Models. Lec. 3. Credit 3.
Prerequisites: CSC 3340 and MATH 3470. Stochastic models of queuing, game, inventory, and decision theory with computer solutions in algorithmic form and by digital simulation.

CSC 3400. Distributed and Net-Centric Programming. Lec. 3. Credit 3.
Prerequisites:  CSC 2300 and CSC 2400.  Concepts in networking, operating systems, distributed computing, and programming languages. Application of these issues to web application design.

CSC 3402. Distributed and Net-Centric Programming for Engineers. Lec. 2. Credit 2.
Prerequisites: CSC 2300 and CSC 2400. Concepts in networking, operating systems, distributed computing, and programming languages. Credit cannot be earned for CSC 3402 in addition to credit for CSC 3400.

CSC 3410. Computer Organization and Assembly Language Programming. Lec. 3. Credit 3.
Prerequisites: CSC 2020, CSC 2021, or consent of instructor. Computer organization and architecture; machine language; and assembly language programming techniques.

CSC 3550. Systems Programming. Lec. 3. Credit 3.
Prerequisites: CSC 2500. Design of systems software; implementation of program development tools; development of a systems software package.

CSC 3560 Network and Storage Technologies. Lec. 3. Credit 3.
Prerequisites: CSC 2500 or consent of instructor. Course covers general network and storage technology concepts and components to provide the basic ability to work on a network implementation team.

CSC 3620. File Processing. Lec. 3. Credit 3.
Prerequisites: CSC 2020, CSC 2021, or DS 3830. File organization techniques; storage and retrieval of information from bulk storage devices; and implementation of these techniques in COBOL.

CSC 3700. Software Analysis and Design. Lec. 3. Credit. 3.
Prerequisite: CSC 2400. Introduction to life cycle/process models, software requriements anaylsis, software design, software testing and configuration management.

CSC 3750. Computer Graphics. Lec. 3. Credit 3.
Prerequisites: MATH 2010 and CSC 2400. Interactive graphical techniques including three-dimensional transformations, hidden surface removal, texture mapping, and shading.

CSC 4010 (5010). Programming Languages. Lec. 3. Credit 3.
Prerequisites: CSC 2710 and CSC 3410. Concepts distinguishing modern programming languages with emphasis on language design, implementation, and run-time behavior.

CSC 4020 (5020). Compiler Construction. Lec. 3. Credit 3.
Prerequisites: CSC 2710 and CSC 3410. Programming language translator design with emphasis on design concepts, parsing, code generation, tools, and code improvement; and construction of a small compiler.

CSC 4100 (5100). Operating Systems. Lec. 3. Credit 3.
Prerequisites: CSC 2300 and either CSC 3410 or ECE 3120. A historical perspective of operating systems; overview of modern systems; processor, storage, and process management; virtual memory; deadlocks; concurrent processing and programming; protection; and case studies.

CSC 4200 (5200). Computer Networks. Lec. 3. Credit 3.
Prerequisites: CSC 2300, CSC 2400, and CSC 2710. Data communications and computer networks; network models and protocols; local area networks; and data security.

CSC 4240 (5240).  Artificial Intelligence.  Lec. 3.  Credit 3.
Prerequisites: CSC 2400 and CSC 2710. A unified survey of AI methods and applications; search and problem solving; knowledge representation; methods of reasoning, planning and uncertainty; learning, perception and communication; and rational agents.

CSC 4300 (5300). Database Management Systems. Lec. 3. Credit 3.
Prerequisites: CSC 2400 and CSC 2710. Organization and management of large data files; data definition; database models; query languages; crash recovery; concurrency control; and case studies.

CSC 4320 (5320). Computer Architecture. Lec. 3. Credit 3.
Prerequisites: CSC 3410 or equivalent. Computer systems, the CPU, the control unit, microprogramming, parallel organization, and RISC architectures.

CSC 4400 (5400). Analysis of Algorithms. Lec. 3. Credit 3.
Prerequisites: CSC 2400 and CSC 2710. Analysis techniques; search, traversal, string and graph algorithms; and NP-hard and NP-complete problems.

CSC 4450 (5450). Introduction to Automata Theory and Computation. Lec. 3. Credit 3.
Prerequisite: CSC 2710. CSC 2400 recommended.  Finite automata; regular sets; context-free languages, pushdown automata; Turing machines; recursive languages; computability; and computational complexity.

CSC 4575 (5575). Information Assurance and Security. Lec. 3. Credit 3.
Prerequisite: Junior status, knowledge of programming language, or consent of instructor. IAS fundamentals, IAS policies and models, access control, malicious codes, vulnerability analysis, network security, database security, program security, and basic cryptography.

CSC 4710 (5710). Design and Development of Human and Web Interfaces. Lec. 3. Credit 3.
Prerequisites: CSC 3700. A course in human-computer interaction design and user interface development. It will expose students to tools, techniques, and ideas for designing effective human computer interfaces.

CSC 4801 , 4802 , 4803 (5801, 5802, 5803). Directed Readings in Computer Science. Credit 1, 2, 3.
Prerequisite: Consent of instructor. This course provides for individual study under the direction of a faculty member in developing areas of computer science.

CSC 4901, 4902, 4903 (5901, 5902, 5903). Special Topics. Credit 1, 2, 3.
Prerequisite: Consent of instructor. Timely topics in computer science.  May be repeated for credit if the topic is different.

CSC 4950. Capstone Project. Lec. 3. Credit 3.
Prerequisites: CSC 3700 and CSC 3400. All graduating seniors are required to complete a capstone project during their senior year. This is a significant project that a student works on individually (under the guidance of a faculty member), which culminates in a portfolio review, scholarly paper (or technical report), and an oral presentation.

CSC 4951. Web Design Capstone Project Course. Lec. 3. Credit 3.
Prerequisite: Senior standing and Consent of instructor. This culminating project course is for students in the web design program. CSC students need to register for CSC 4950 and will not get credit for this course.

CSC 4955 (5955). Information Assurance and Security Case Studies. Lec. 3. Credit 3.
Prerequisites: Junior status, equivalent of MATH 1710 or higher, PHYS 2020, knowledge of a scripting or programming language, and consent of instructor. This course will follow a dilemma-based case study approach to study IAS related issues such as policies, human factors, evidence gathering, etc.

CSC 4990. Computer Science Internship. Credit 3 or 6.
Prerequisites: CSC 3030. See instructor prior to enrolling. Part-time employment in a professional or institutional situation related to the student's area of concentration in computer science. This course may be taken as two 3-hour courses or one 6-hour course.

 
© 2008 Tennessee Technological University
Back to Top | 2008-09 Catalog Home | Catalog Index | Catalogs Main Page | TTU Home
This page maintained by Jerri Winningham. Last Updated: 5/29/08