Catalog Navigation
Search powered by Google
Area Navigation  
 

Department of Computer Science (CSC)

Doug A. Talbert, Interim Chairperson

DEPARTMENTAL FACULTY: Frank O. Hadlock, David Hume, Martha J. Kosa, Michael Rogers, Doug A. Talbert.

DEPARTMENTAL OVERVIEW

The Department of Computer Science offers advanced studies leading to the Master of Science degree in Computer Science with a concentration in Internet-Based Computing. Our M.S. degree program in computer science is driven by two distinct needs, fueled by the growth in technological companies and jobs in the middle Tennessee and Upper Cumberland regions. These include:

  • The need for a strong professional graduate program in computer science in this region that provides opportunities for personnel from surrounding industries to upgrade their professional skills, especially in response to the rapid technological advances with emphasis in Internet-based computing.
  • The need for a strong academic program in computer science that prepares capable graduates from TTU and this region to pursue a terminal (Ph.D.) degree in computer science.

The program focuses on Internet-Based Computing and its applications in different disciplines, thereby providing a distinctive learning experience for our graduates and preparing them for computer and Internet-based jobs in various industries. Graduate students may carry out their research for their thesis in any Computer Science related area, under the supervision of a faculty member having expertise in that area. Faculty advisors assist graduate students in developing individual programs of study depending on their career goals and research interests. The student's advisory committee assists the student in the development and execution of the program of study and monitors and evaluates the student's work towards the degree.

Many departmental faculty members actively participate in basic and applied Computer Science related research. Current faculty research interests include: Intelligent Systems Development, Distributed Computing, Digital Libraries, Clinical Information Management, Algorithmic Visualization, Modeling and Simulation, Graphics and Virtual Reality. The department is equipped with three laboratories--a PC-based teaching laboratory, a high-performance computing laboratory with a Gigabit networking backbone and a research laboratory--Software Automation and Intelligence Laboratory (SAIL). SAIL provides the opportunity for undergraduate Computer Science students to participate in various faculty research activities while collaborating with graduate students from Computer Science and other Engineering majors. The College of Engineering also has three Centers of Excellence, through which our faculty may pursue collaborative research. The resources and facilities of these Centers add valuable learning experiences for students of the Department.

SURGE: Integrated B.S./M.S. program in Computer Science

The Computer Science SURGE (Supporting Undergraduates through Rapid Graduate Enrollment) program is designed to provide an opportunity for promising undergraduate Computer Science students at TTU to accelerate their pursuit of an M.S. degree in Computer Science. SURGE participants will be able to enroll for up to 9 hours of graduate level Computer Science courses during their senior year at TTU.

SURGE admission criteria will be similar to the traditional graduate program, except that these students will not yet have a completed Bachelor's degree. To apply for participation, students must meet the following minimum criteria:

  1. Undergraduate Computer Science student at TTU with at least a Junior Standing.
  2. Overall GPA of at least 3.00.
  3. Math and Computer Science GPA of at least 3.25.
  4. Must have completed CSC 2400.
  5. Must be currently enrolled in or have satisfactorily completed at least six hours of upper-division work in Computer Science at TTU.
  6. Must have a "B" or better in all Computer Science classes.

Fulfilling the above minimum requirements does not guarantee admission. Students who meet the above minimum admission requirements can apply for provisional admission to TTU's Computer Science graduate program through SURGE. An admissions committee must approve each applicant for SURGE participation. These students will be required to satisfactorily complete the additional graduate program requirements (GRE, undergraduate graduation/GPA requirements, etc.) prior to pursuing coursework beyond the nine credit hours allowed through SURGE.

SURGE participation does not change the requirements for either the undergraduate or graduate degree programs in Computer Science. Graduate classes taken through the SURGE program may not be used to satisfy undergraduate degree requirements.

The student, once admitted to this program, will be allowed to enroll in appropriate graduate computer science courses (up to nine credit hours) during their senior year through consultation with the department's SURGE program coordinator.

DEPARTMENTAL ADMISSION REQUIREMENTS

An applicant for admission to the Master of Science program in Computer Science is expected to have earned a B. S. degree from an approved program, or its equivalent. The basic admission standards are the same as those for other graduate programs at Tennessee Technological University. Specifically, these include: an undergraduate GPA of at least 3.0 on a 4.0 scale, total of at least 1000 on the verbal and quantitative portions of the General Test of the Graduate Record Examination (GRE) along with a 3.5 score on the analytical writing portion of the test, and three letters of recommendation from faculty familiar with the academic ability of the applicant. International students must score at least 550 (213 computer-based) on the Test of English as a Foreign Language (TOEFL).

Completion of equivalent course work in each of the following areas is required for every incoming graduate student. Exception to enrollment in these courses requires the written permission of the computer science graduate committee. Students deficient in these areas will be required to complete courses in these areas with a grade "C" or better, with a cumulative average of grade "B" or better. Core computer science areas include:

  1. Discrete Mathematics
  2. Data Structures and Algorithms
  3. Design of Algorithms

Fulfilling the above minimum requirements does not guarantee admission. Students who do not meet the minimum admission requirements or whose potential for success is not evident from their application may be considered for provisional admission. These students will be reclassified to full standing once they satisfy the conditions specified in the Certificate of Admission. Students with good academic backgrounds, but having B. S. degrees in fields other than Computer Science, will be admitted on a provisional basis. They will be required to satisfactorily complete all undergraduate core computer science courses before they apply for reclassification to full standing.

DEPARTMENTAL DEGREE REQUIREMENTS

Thesis Option:

The graduate program in computer science has three options. The thesis option requires 31 semester credit hours of graduate work, which includes 24 hours of coursework, one hour of graduate seminar, and 6 hours of graduate thesis approved by the advisory committee.

Nonthesis Project Option:

Students may be able to enroll in a nonthesis project option for the degree requiring 30 hours of course work, 3 hours of project work, and a seminar class leading to a 34 credit hour requirement for graduation. Students choosing this option will have to go through a final presentation and defense exam in the project related area.

Nonthesis Course Option:

Students may be able to enroll in a nonthesis course option for the degree requiring 33 hours of course work and a seminar class leading to a 34 credit hour requirement for graduation. Students choosing this option will have to go through an oral defense exam in three areas of the program. One of these areas will have to be from the set of three core subjects, and the other two may be chosen from areas in the set of guided and/or open electives specified for the degree program.

Required Graduate Core Classes:
CSC 6300—Web-Based Database Systems
CSC 6700—Advanced Topics in Software Engineering
CSC 6720—Internet Computing

Guided Elective Classes (must take at least one course each from the following two sub-disciplines):
Group I:
CSC 5100—Operating Systems
CSC 5200—Computer Networks
CSC 5300—Database Management Systems
CSC 5700—Software Engineering
CSC 6200—Software Development/Internet Programming: Secure E-Commerce
CSC 6710—Human Computer Interaction and Interface Design
CSC 6730—Advanced Internet Computing
CSC 6800—Advanced Topics
Group II:
CSC 5010—Programming Languages
CSC 5020—Compiler Construction
CSC 5240—Artificial Intelligence
CSC 5250—Theory/Foundations of Computer Science: Knowledge Based Systems
CSC 5400—Design and Analysis of Computer Algorithms
CSC 5450—Automata Theory and Computation
CSC 6450—Advanced Theory of Computation
CSC 6460—Computational Methods for Graphics and Modeling

Open Graduate Electives:
All students may take up to 9 or 12 hours of classes as open electives, two of which may be appropriate courses in other disciplines (electrical engineering, mathematics, business, or sciences) as determined by the graduate advisory committee.

COURSES

CSC 4010 (5010). Programming Languages. Lec. 3. Cr. 3.

Prerequisite: CSC 2710, 3410. Concepts distinguishing modern programming languages with emphasis on language design, implementation, and run-time behavior. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4020 (5020). Compiler Construction. Lec. 3. Cr. 3.

Prerequisite: CSC 2710, 3410. Programming language translator design with emphasis on design concepts, parsing, code generation, tools, and code improvement; construction of a small compiler. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4100 (5100). Operating Systems. Lec. 3. Cr. 3.

Proposed prerequisites: CSC 3400 and either CSC 3410 or ECE 3120. An historical perspective of operating systems; overview of modern systems; processor, storage and process management; virtual memory; deadlocks; concurrent processing and programming; protection; case studies. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4200 (5200). Computer Networks. Lec. 3. Cr. 3.

Proposed prerequisites: CSC 2710, 3400. Data communications and computer networks; network models and protocols; local area networks; data security. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4240 (5240). Artificial Intelligence. Lec. 3. Cr. 3.

Prerequisite: CSC 2400, 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; rational agents. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4250 (5250). Knowledge-Based Systems. Lec. 3. Cr. 3.

Prerequisite: CSC 4240. Knowledge-based systems and logic programming, methods of knowledge representation and inference. Applications to expert systems and intelligent data bases. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4300 (5300). Database Management Systems. Lec. 3. Cr. 3.

Prerequisite: CSC 2400, 2710. Organization and management of large data files; data definition; database models; query languages; crash recovery; concurrency control; case studies. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4310 (5310). Computer Synthesis. Lec. 3. Lab. 2. Cr. 4.

Prerequisite: CSC 3310. Algorithmic state machines; synthesis of a simple digital computer; practical architectures; input/output; asynchronous sequential logic. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4320 (5320). Computer Architecture. Lec. 3. Cr. 3.

Prerequisite: CSC 3310, 3410. Computer systems, the CPU, the control unit, microprogramming, parallel organization, RISC architectures. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4400 (5400). Analysis of Algorithms. Lec. 3. Cr. 3.

Prerequisite: CSC 2400, 2710. Analysis techniques; search, traversal, string, and graph algorithms; NP-hard and NP-complete problems. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4450 (5450). Introduction to Automata Theory and Computation. Lec. 3. Cr. 3.

Prerequisite: CSC 2710. CSC 2400 recommended. Finite automata; regular sets; context-free languages; pushdown automata; Turing machines; recursive languages; computability; computational complexity. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4500 (5500). Computer Architecture--Microcomputers. Lec. 2. Lab. 2. Cr. 3.

Prerequisite: CSC 3410. Architecture, organization, and machine language programming of microcomputers; microprocessor architecture; interrupts and I/O; real time applications. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4550 (5550). Advanced Systems Development. Lec. 3. Cr. 3.

Prerequisite: CSC 3550. Development of an advanced systems software product; implementation of I/O drivers, operating system kernel, file operations; communications tools. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4560 (5560). Embedded Software Systems. Lec. 3. Cr. 3.

Prerequisites: CSC 3700, CSC 3310, CSC 3410, CSC 3400. This is a project oriented, senior/graduate level course to introduce students to the core design and engineering ideas that cut across hardware and software domains for the design and development of embedded software systems. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4575 (5575). Information Assurance and Security. Lec. 3. Cr. 3.

Proposed 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 introduce students to several IAS issues, IAS models and strategies, legal and public implications, and the development of a security management plan. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4700 (5700). Software Engineering. Lec. 3. Cr. 3.

Prerequisites: 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. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4710 (5710). Design and Development of Human and Web Interfaces. Lec. 3. Cr. 3.

Prerequisite: CSC 3700. A course in human-computer interaction design and user interface development. This course 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. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 4800 (5800). Directed Readings in Computer Science. Cr. 3.

Prerequisite: Consent of instructor. This course provides for individual study under the direction of a faculty member in developing areas of computer science. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 5901. Special Topics. Cr. 1-3.

Prerequisite: Consent of instructor. Timely topics in computer science. May be repeated for credit, but not repeated for improvement of a grade. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus. (GSEC, 9/5/06)

CSC 5902. Special Topics. Cr. 1-3.

Prerequisite: Consent of instructor. Timely topics in computer science. May be repeated for credit, but not repeated for improvement of a grade. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus. (GSEC, 9/5/06)

CSC 5903. Special Topics. Cr. 1-3.

Prerequisite: Consent of instructor. Timely topics in computer science. May be repeated for credit, but not repeated for improvement of a grade. Students enrolled in the 5000-level course will be required to complete additional work as stated in the syllabus.

CSC 5955. Information Assurance and Security Case Studies. Lec. 3. Cr. 3.

Prerequisites: 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.

CSC 6200. Secure E-Commerce. Lec. 3. Cr. 3.

Prerequisites: CSC 4200 or consent of instructor. Protocols, methodologies and techniques to design and develop applications for web-based information and transaction processing, encryption and decryption issues in web-based data communication protocols.

CSC 6300. Web-Based Database Systems. Lec. 3. Cr. 3.

Prerequisites: CSC 4300 or consent of instructor. Advanced concepts in designing database applications, techniques for data storage and retrieval in large databases, etc.

CSC 6320. Advanced Computer Architecture. Lec. 3. Cr. 3.

Prerequisites: CSC 4100, CSC 4320, or consent of instructor. Analysis and design of large-scale computer systems, such as pipelined and vector architectures, etc.

CSC (MATH) 6450. Advanced Theory of Computation. Lec. 3. Cr. 3.

Prerequisite: Consent of the instructor (previous coursework involving proofs and some programming experience are needed). A rigorous treatment of the theory of computation. Topics such as: computable functions, the Church-Turing thesis, complexity theory, and P vs NP.

CSC (MATH) 6460. Computational Methods for Graphics and Modeling. Lec. 3. Cr. 3.

Prerequisite: Consent of the instructor (previous coursework involving proofs and some programming experience are needed). Mathematical methods for graphics and modeling. Topics such as: 3-D transformations, ray tracing, rendering, image processing, and compression.

CSC 6700. Advanced Topics in Software Engineering. Lec. 3. Cr. 3.

Prerequisite: Consent of instructor. Software environments and paradigms; CASE analysis and design tools; user-interface, real-time, object-oriented, performance, testing and maintenance environments; automatic programming and code generators.

CSC 6710. Human Computer Interaction and Interface Design. Lec. 3. Cr. 3.

Prerequisites: CSC 4010, CSC 4700, or CSC 6700, or consent of instructor. Current issues and trends in human-computer interaction design, their evaluation, choice of selection devices and interaction styles, etc.

CSC 6720. Internet Computing. Lec. 3. Cr. 3.

Prerequisites: CSC 4010, CSC 6700, or consent of instructor. A detailed introduction to languages, methods, and techniques involved in programming web-based applications, including associated paradigms for web-based development environments and applications, including operating systems related issues..

CSC 6730. Advanced Internet Computing. Lec. 3. Cr. 3.

Prerequisites: CSC 6720 or consent of instructor. Hardware and systems issues for building and executing web-based applications, including networking fundamental, peripherals and other requirements.

CSC 6800. Advanced Topics. Cr. 3.

Prerequisites: Consent of instructor. A directed research course on current issues and topics in Internet-based computing. This course may be repeated in different semesters.

CSC 6910. Computer Science Seminar. Cr. 1.

CSC 6980. Graduate Project. Cr. 3.

Prerequisites: Consent of instructor. This course is a requirement for graduate students pursuing the project option. The course is directed by the student's graduate advisor(s).

CSC 6990. Research and Thesis. Cr. 1,3,6.

Page last updated: 9/10/08

 
© 2005 Tennessee Technological University
Back to Top | Catalog Index | TTU Home

Graduate Studies
Tennessee Tech Univesity
P.O. Box 5036
Phone: (931) 372-3233 Fax: (931) 372-3497
E-Mail: Gradstudies@tntech.edu