Undergraduate Catalog Home TTU Home
This is an archived version of the catalog. Course descriptions are NOT current and cannot be used for incoming transfers.
 Navigation
Search powered by Google
Area Navigation  
 

COMPUTER SCIENCE (CSC)


A Computer Science minor should have completed CSC 2020/2021, plus 6 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 CSIN 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 CSIN option and non-computer science majors only.)

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

CSC 2001. Concepts in Computer Science. Lec. 3. Credit 3.
Prerequisite: None. Fundamental concepts of computing and overview of computer science as a discipline. Historical and social context of computing, including ethical issues. The class will include the initiation of a portfolio that students will use to document learned skills and completed projects throughout their undergraduate experience.

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; 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, CSC 2011.  Corequisite: CSC 1610, CSC 2021. Program design and implementation; abstract data types; recursion; searching; sorting; trees; running time analysis.

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

CSC 2030. Practical and Professional Issues in Computer Science. Lec. 1. Lab. 1. Credit 1.
Prerequisite: CSC 2020, CSC 2021. 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 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, CSC 2021. Corequisite: MATH 1920. Advanced data structures and applications, problem solving strategies, heuristics, complexity of algorithms.

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

CSC 2900, 2901, 2902. 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 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; approximation of functions.

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

CSC 3340. Deterministic Computer Models. Lec. 3. Credit 3.
Prerequisites: CSC 2020, CSC 2021, 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, 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, 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, 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; assembly language programming techniques.

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

CSC 3550. Systems Programming. Lec. 3. Credit 3.
Prerequisites: CSC 2300 and/or CSC 3500. Corequisite: CSC 3410. Design of systems software; implementation of program development tools; development of a systems software package.

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; implementation of these techniques in COBOL.

CSC 3700. Software Analysis and Design. Lec. 3. Credit. 3.
Prerequisite: CSC 2400. Systems analysis, requirements analysis, requirements specifications and design of software systems.

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, 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, 3410. Programming language translator design with emphasis on design concepts, parsing, code generation, tools and code improvement; construction of a small compiler.

CSC 4100 (5100). Operating Systems. Lec. 3. Credit 3.
Prerequisites: CSC 3410, 3500. CSC 3400 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; case studies.

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

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

CSC 4250 (5250). Knowledge-Based Systems. Lec. 3. Credit 3.
Prerequisite: CSC 4240 or consent of instructor. Knowledge-based systems and Logic Programming, methods of knowledge representation and inference. Applications to expert systems and intelligent data bases.

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

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

CSC 4400 (5400). Analysis of Algorithms. Lec. 3. Credit 3.
Prerequisites: CSC 2400, 2710. Analysis techniques; search, traversal, string and graph algorithms; 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; computational complexity.

CSC 4550 (5550). Advanced Systems Development. Lec. 3. Credit 3.
Prerequisite: CSC 3550. Development of an advanced systems software product; implementation of I/O drivers, operating system kernel, file operations; communications tools.

CSC 4560 (5560). Embedded Software Systems. Lec. 3. Credit 3.
Prerequisites: CSC 3700, CSC 3310, CSC 3410, CSC 3400. This is a project oriented, senior/graduate level course to introduce core design and engineering ideas that cut across hardware and software domains for the design and development of embedded software systems.

CSC 4575 (5575). Information Assurance and Security. Lec. 3. Credit 3.
Prerequisite: Junior status, equivalent of MATH 1710 or better, PHYS 2020 or better and consent of instructor. Junior status, equivalent of MATH 1710 or higher, PHYS 2020, knowledge of a scripting or programming language, and consent of instructor. This course will introduce several IAS issues, IAS models and strategies, legal and public implications, and development of a security management plan.

CSC 4700 (5700). Software Engineering. Lec. 3. Credit 3.
Prerequisite: CSC 3700 or consent of instructor. Object-oriented system development, the translation process, coding efficiency, software quality assurance, CASE tools and technology, integration and testing tools, advanced software maintenance environments.

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. Graduate students will be required to do additional work on their projects (more functionality) and/or answer additional questions on tests and quizzes.

CSC 4801 (5801), 4802 (5802), 4803 (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 4900 (5900) 4901 (5901) 4902 (5902) 4901 (5901), 4902 (5902), 4903 (5903). 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 grade. Course may be taken for credit more than once.

CSC 4950. Capstone Project. Lec. 3. Credit 3.
Prerequisites: CSC 3700, 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.
Prerequisite: Junior status, equivalent of MATH 1710 or better, PHYS 2020 and consent of instructor. This class will follow a dilemma-based case study approach to study IAS related issues such as policies, human factors, evidence gathering, etc.

 
© 2008 Tennessee Technological University
Back to Top | 2006-07 Catalog Home | Catalog Index | Catalogs Main Page | TTU Home
This page maintained by Jerri Winningham. Last Updated: 11/22/06