COLLEGE OF ENGINEERING, TECHNOLOGY AND COMPUTER SCIENCE

DEPARTMENT OF COMPUTER SCIENCE

ABOUT ACADEMICS ADMISSION PEOPLE FACILITIES / RESEARCH
Computer Science Undergraduate , Graduate Undergraduate Faculty Communication
Mission,Objectives,Outcomes Courses, 4 Year Plan, FORMS Transferring Students Advisors Computing
Contacts Graduation Requirements Graduate Alumni, News Laboratories, Text Books
Majoring in CS Advisements Minor in CS Pre College Staff, Contacts Research , News/Events

3500 John A. Merritt Blvd, TSU,  McCord Hall, Department of Computer Science, Nashville TN 37209.   Phone: (615) 963 5800    Fax: (615) 963 5847     HOME     SSR

                                                                                                                                                                                                                         

 

                                             Click course number to move to its description in this page

 

1210    2040    2140    2240    2400    2600    2630    3000    3030    3040    3050    3110    3170   3190   3200    3500    3560    3650    3710    3900    4100    4200    4300    4400    4440    4450    4500    4510    4550    4600    4610    4700    4750    4800     4900   4910   

                        

                                             Click on course name to display the detailed course contents

 

COMP 1210 Introduction to Computing (3). This course is for non-cs majors. The purpose is to introduce students to computer hardware and use. Topics covered include: Computer hardware, operating systems and some of the commonly used application software such as a word Processor, an Internet browser, an email manager, a presentation manager and a spreadsheet processor. Course includes hands-on work with computers. Not open to Computer Science majors. Offered every semester. Prerequisite: high school algebra.

 

COMP 2040  Introduction to computer & Problem solving(3). This is the first course for Computer Science majors. The purpose is to introduce students to essentials of computer hardware, operating systems and problem solving. Topics to be offered are binary, decimal and hexadecimal numbers, computer memory and data storage methods, problem solving and algorithm development, Windows and the UNIX operating systems and their uses. Prerequisite is ENGR1001.

 

COMP 2140 Structured problem solving and programming plus Lab (3). This course discusses basic structures of an object oriented programming language and an integrated development software. Students will use computer labs to implementation programs. Basic language structures needed for translating single-function and multi-function algorithms involving decisions and loops are discussed. Discussions will be in the context of programming language concepts. Prerequisite: COMP 2040 or equivalent.

 

COMP2240 Object Oriented Programming (3).. This is the continuation of COMP 2140. The remaining structures of the language used in COMP 2140, including object oriented design, detail discussions of classes and methods (functions), inheritance and polymorphism, exception handling, one-dimensional and multi-dimensional arrays and their uses, strings, matrices, and hashing will be discussed. Discussions will be in the context of programming language concepts. Prerequisite: COMP 2140 or equivalent.

 

COMP2400 Computer Organization I (3). This course introduces the structures and working principles of the different hardware units of a computer. Computer systems organization, the digital logic level (gates and circuits, memory), micro-architecture level (data path, microinstructions), The instruction set architecture level (instruction format, addressing) and parallel computer architectures are discussed. Prerequisites: COMP 2140.

 

COMP2600 Assembly Language (3). This course introduces low level programming through an assembly programming language. Topics include: quick review of main memory and CPU, use of memory, data types, data processing, addressing, compilation and linking processes. Prerequisite: COMP 2400.

 

COMP2630 Selective Programming Languages (1- 2).    The purpose of this course is to teach all components of a selected programming language. Some of the languages to be offered are  C, C++ ,  Pearl, Smalltalk, Scheme, Lisp and Visual Basic. Credits earned may be accepted for Computer Science Application requirements. Prerequisite: COMP 2040.

                                                                                                                 

COMP3000 Computer Programming for non-CS majors ( 3). This course is a computer programming for non-CS majors. Topics covered include: Introduction to computer hardware, problem solving and algorithm development, translating algorithms using an object oriented programming language. Schedule will include two lecture hours and two lab sessions. Prerequisite: High school algebra. Offered on demand.   

                                                                                         TOP

COMP3030 Event Driven Programming  (3). This course introduces basics of visual programming, also known as event driven programming, using the programming language used in COMP 2140 and 224. Topics discussed include: Language facilities for visual programming, messages and message handling, message loop, creating windows including dialog boxes, constructing controls within windows, graphics and I/O with documents. Prerequisite: COMP 2240 or equivalent. Offered spring semester.

 

COMP3040 Data Structures (3). This course introduces basic data structures. Topics discussed are: abstract data types, implementation of stack and queue data structures with arrays and linked lists, binary trees, heaps, and priority queues, some sorting and searching algorithms and their implementations. Prerequisite: COMP 2240 or equivalent.

 

COMP3050 Programming Languages (3). This course presents fundamental concepts of programming languages. Topics include: Syntax, Semantics, memory management, parameter passing methods, new programming language extensions ( object oriented programming, event driven programming) and comparison of existing programming languages. prerequisite: COMP 3040.

 

COMP3110 java Programming(3). Basic java language constructs, OO Design, classes, Internet Applications. Prerequisite COMP 2240

                                                                                       

COMP3170 Applied Operating Systems (1- 3). This course is designed for presenting advanced features of some commonly used operating systems and their uses. It can be taken more than one time, provided each time a different operating system is taught. Examples of operating systems to be offered are MS Windows, LINUX, and UNIX. Prerequisite: COMP 2040.

 

COMP3190  Ethics and Professionalism in Computing (3), This course presents the important topics of communications and ethics for computer professionals. Topics discussed include: Introduction and definitions, Ethics for COMP professionals and computer users, Computer and Internet Crime, privacy, freedom of expression, intellectual property, Software development, employer /employee issues, software engineering and IEEE code of ethics and professional practice: Prerequisite: COMP 2040

 

COMP3200 Discrete Mathematics (3). This course presents discrete mathematical structures for computer science. Topics include: sets, functions and relations, congruence, logic and proof methods, Boolean algebra, graphs and trees and their applications in computer science. Prerequisite: Math 1915 and COMP 2240.

 

COMP3310 Data Communications and Computer Networks (3). This course presents basic concepts of data communications and computer networks. Topics include: Definitions, signals, encoding and modulation, digital data transmission and transmission media, error detection and control, types of networks, structure of an open network model, data link and data link protocols. Prerequisite: PHYS 222 and COMP 2400.                                    TOP

                                                                                                       

COMP3500  Digital Logic Design (3). Review of Boolean algebra and digital logic gates, Switching algebra, combinational and sequential logic design, minimization methods. Prerequisite: COMP 2400.

 

COMP3560  Automata and formal languages (3). The purpose of this course is to teach concepts of formal languages and automata.  Topics include: mathematical preliminaries, deterministic and nondeterministic finite acceptors, regular expressions, regular languages and grammars, context free grammars and languages, Turing machines.. Prerequisite: COMP 3200.

 

COMP3650  Microcomputers (3). This course is designed for teaching the personal computer hardware and software essentials. Topics include: Structures of the PC system board, main memory, CPU,  the bus systems, expansion slots, secondary memory units (disks, CD and DVDs, …), other hardware devices, basics of the PC operating systems, PC management, repair and maintenance. Prerequisite: COMP 2040.

 

COMP3710 Relational Databases. (3). This course presents basic principles of relational databases and a relational database management system. Topics include basic definitions of database systems, relations and their operations, design and implementation of a relational database, creating queries and the SQL (structured Query Language). Prerequisite: COMP 3200.

 

COMP3900 Numerical Analysis (3). This course is for programming some mathematical problems including solutions of non-linear equation and simultaneous linear equations, matrix related computations, numerical differentiation and integration, interpolation and approximation. Prerequisites: COMP 2140 and MATH 36100.

 

COMP4100 Operating Systems I (3). This course presents theory of operating systems. Topics include: Hardware interrupt systems, concurrence of I/O operations, multiprogramming systems, memory management, protection, resources allocation, control job management and task management, real time systems, time-sharing systems, paging, virtual, scheduler, reliability, file management services, and system accounting. Prerequisites: COMP 2400, COMP 30400

 

COMP4200 Compiler Construction (3). This course is for teaching fundamentals of writing compilers for programming languages. Topics include: lexical analysis, parsing, semantic analysis and code generation. Prerequisites: COMP 3560.

                                                                                                                              TOP

COMP4300 Software Engineering (3). This course presents principles of producing efficient and reliable software systems. Topics include: Design of reliable software; error causes and consequences; software testing methodologies, including test case design, tools, path testing and transactions flow; data validation and program correctness. Prerequisite: COMP 3040.

 

COMP4400  Artificial Intelligence (3). Topics in machine intelligence. Prerequisite: COMP 3040.

 

COMP4440 Mobile Robotics

 

COMP4450 Computer Network Architecture (3). Network design and types, circuits switching, bridges, routers, control signaling, traffic control, LANs, MANs, WANs and digital networks. Prerequisite: COMP 3310.

 

COMP4500 Senior Project I (1). Each CS major must start working on a research project on the first semester of the graduating year. The project is to be completed in COMP 4510 in the second semester of the graduating year. A written report and an oral defense of the project are required. Prerequisite: graduating senior.

                                                                                                                         TOP

COMP4510 Senior project II (1): This course is the continuation of the COMP 4500. The project started in COMP 4500 must be completed. The report must be presented and orally defended. Prerequisite: COMP 45000

 

COMP4550 Computer Network Protocols (3). Basic flow control, types of protocols, routing, transports, contention, redundancy checks, encryption and decryption, viruses and internet protocols. Prerequisites: COMP 4450 and COMP 3200. Offered in spring.

 

COMP4600  Game Programming

COURSE OBJECTIVES

Games are so complex they require large teams of programmers, designers, artists, testers, advertisers, and producers to organize and develop them.

Games are now as complex as, if not more than, the latest blockbuster film. 

This course provides the basic fundamentals of C++ programming to advanced Direct X, as well as making 3D objects and sound to implement into games. 

COMP4610 Object Oriented and Hybrid Database Systems (3): This course presents Object Oriented and hybrid database concepts. Topics include: definitions of objects and attributes, methods and messages, classes, object-oriented data models, architectural issues, the Object-Oriented Database System Manifesto, Object-Oriented Database Design, Object-Oriented Database Management Systems, Object/Relational Database Management Systems, SQL3. Prerequisite: COMP 3710. Offered Alternate years.

 

COMP4700 Algorithms (3). The purpose of the course is to teach principles of algorithm design and algorithm analysis. Topics include: Some basic algorithms, such as sorting and searching, pattern matching, Classes of P, NP, NP-complete, intractable problems and some algorithm design techniques, such as dynamic programming, greedy algorithms. Prerequisites: COMP 3040. Offered in alternate years or as demanded..

 

COMP4750 Computer Network Management (3). Network interfacing, measuring failures and availability, reliability, security, maintenance, network statistics, reconfiguration and documentation. Prerequisites: COMP 3310. Offered in spring.                          

 

COMP4800 Computer Graphics (3). This course presents basics, including mathematical topics used in writing graphics software. Topics include: Introduction, Passive and interactive computer graphics, programming, hardware, user languages and output devices, transformations, algorithms, object modeling, storage and manipulations and image processing. Prerequisite: COMP 3040.

                                                                                                  TOP

COMP4910 Special Topics(1 to 3) . This course is for teaching important emerging computer science topics that are not covered in other CS courses. Prerequisites: junior or senior status and successful completion of at least 18 hours of CS courses.