TSU 2004-2005 Undergraduate Catalog

Department of Computer Science

Amir Gamshadi, PhD Interim Head
Rm 05, McCord Hall
615-963-5800

Faculty: W. Chen, H. Miao, T. Rogers, A. Sarayloo, A. Sekmen, G. Shao, A. Thomas, M. Williams, F. Yao

General Statement: The Computer Science Department offers a BS degree in Computer Science. The CS program provides CS majors with a broad based knowledge in various contemporary computer science fields such as computer architecture and organization, algorithm design and analysis, computer programming, database management systems, and computer networks and data communication. The CS programs includes adequate courses from mathematics, natural sciences, ethics, communications, and other general educations to provide the base knowledge required for understanding computer science topics, for gaining the skills required for entering in diverse careers in private and public sectors and pursue graduate studies.

The educational objectives of the Department of Computer Science are consistent with the objectives and outcomes of the College of Engineering and TSU and are as follows:

  1. To provide students with the basic knowledge in Mathematical and Natural Science topics that are required for problem solving and understanding of the computer science studies.

  2. To provide CS students with fundamentals of computer science so that, they can solve complex problems and develop algorithms using top-down structured design and object oriented design.

  3. To provide students with hands-on computer science experiences so that they can implement algorithms and produce application software.

  4. To provide students with oral and writing skills required for effective communication and productive functioning in teams and complex working environments.

  5. To make students aware of the social issues, ethical conducts, and their professional responsibilities to their society and the international community.

  6. To prepare students so that they may pursue graduate studies and understand and appreciate benefits of life-long learning.

Program Requirements

A minimum of 120 semester credit hours are required for completion of the BS degree in Computer Science. The distribution of these credits is outlined below.

Engineering Orientation 01
Communication 12
Humanities / Fine Arts 09
Social / Behavioral Sciences 06
History 06
Natural Sciences 12
Mathematics 21
Engineering & CS 47
Computer Application area 06
   

Total

120


Communication (12)


ENGL 1010 Freshman English I (Composition) (3)
ENGL 1020 Freshman English II (Composition) (3)
COMM 2200 Public Speaking) (3)
A course in a foreign language (3)
 

Humanities/Fine Arts (9)
  1. ENGL 2110 American Literature I (3)
  2. ENGL 2120 American Literature II (3)
  3. PHIL 2010 Introduction to Philosophy (3)
Social/Behavioral Sciences (6)
  1. PSYC 2010 General Psychology (3)
  2. ECON 2010 Principles of (3)
History (6)
  1. HIST 2010 American History I (3)
  2. HIST 2020 American History II (3)
Natural Sciences (12)
  1. CHEM 110 & 111 General Chemistry I and Laboratory (3,1 )
  2. PHYS 2030, PHYS 2040 General Physics I II ( 3,3)
  3. PHYS 2031, PHYS 2041 General Physics I, II Laboratory (1, 1)
Engineering Orientation (1)
  1. ENGR 1000Orientation (1)

Mathematics (21)

  1. MATH 1910 Fundamentals of Problem Solving (1)
  2. MATH 1915 Calculus & Analytic Geometry (4)
  3. MATH 1925 Calculus II (4)
  4. MATH 2115 Calculus III (3)
  5. STAT 3110 Probability and Statistics I (3)
  6. MATH 3610 Linear Algebra I (3)
  7. COMP 3200 Discrete Mathematics (3)

Computer Application Area (6)

Every CS major must select a computer application area and take courses equivalent to a minimum of 6 HRS The area and courses must be selected from the lists that have been approved by the department. A copy of lists can be obtained from the office of the CS department or the Web site of the CS department.

Engineering & Computer Science (47)

Computer science courses are grouped into 2 categories: CS Core courses (35) and concentration courses (12). Four concentration areas are included. These are: Business, Software Engineering, Computer Engineering and Data Communications and Networking.

Computer Science (Core 35)

  1. ENGR1001 Introduction to Engineering I (1)
  2. ENGR1011 Introduction to Engineering II (1)
  3. COMP 2040 Introduction to Computer, Problem Solving and Computer Use (3)
  4. COMP 2140 Structured Problem Solving and Programming (3)
  5. COMP 2240 Object Oriented Programming (3)
  6. COMP 2400 Computer Organization I (3)
  7. COMP 2600 Assembly Language (3)
  8. COMP 3030 Event Driven Programming (3)
  9. COMP 3040 Data Structures and Algorithms (3)
  10. COMP 3190 Ethics and Professionalism in Computing (3)
  11. COMP 3310 Data Communication and Computer Networks (3)
  12. COMP 4100 Operating Systems (3)
  13. COMP 4500 (ENGR 4500 Senior Capstone Design Project I (1)
  14. COMP 4510 (ENGR 4500 Senior Capstone Design Project II (1)
  15. ENGR 4900 Professional Development Seminar (1)

Business Concentration (12)

  1. ACCO 2110 Principles of Financial Accounting I (3)
  2. BISI 3160 Business Application Development (3)
  3. BISI 3230 Management Information Systems (3)
  4. COMP 3710 Relational Databases (3)

Software Engineering Concentration (12)

  1. COMP 3560 Automata and Formal Languages (3)
  2. COMP 4300 Software Engineering (3)
  3. COMP 4200 Compiler Construction (3)
  4. COMP 4700 Algorithms (3)
  5. Computer Hardware Concentration (12)
  6. ENGR 2000, ENGR 2001 Circuits I and Lab(3,1)
  7. COMP 3500 Digital Logic Design (3)
  8. COMP 4310 Advanced Computer Organization(3)
  9. COMP 4600 Microprocessors (2)

Data Communication and Computer Networks Concentration (12)

  1. COMP 3650 Microcomputers (3)
  2. COMP 4450 Computer Network Architecture (3)
  3. COMP 4550 Computer Network Protocols (3)
  4. COMP 4750 Computer Network Management (3)
     

Specific College Requirements:

  1. No student will be allowed to take any departmental courses, major courses, engineering courses, mathematics and/or science courses without having successfully completed the proper prerequisites for those courses with a grade of C" or better.
  2. Students earning a grade of "D" or lower in mathematics courses, science courses, departmental courses, major courses, or engineering course (s) must repeat that course (s) the very next time the course (s) is offered.
  3. All College students must take and successfully complete all components of the Rising Junior Examination during the junior year.
  4. Each student must complete a practicum prior to graduation. A practicum may include, but is not limited to, an internship, co-operative education experience, research experience, assistant in an engineering/computer laboratory, and other engineering/computer practical experiences. The practicum must be approved in advance by the student’s academic advisor and department head, and the practical experience must be at least eight (8) continuous weeks in length. A comprehensive report on at least one practicum is required. The report must be cosigned by a supervisor. The practicum report is to be given to the student’s faculty advisor. The Dean’s office will assist students in locating a practicum.
     

Suggested Four-Year Plan:
Bachelor of Science Degree
Computer Science

Computer Science
FRESHMAN YEAR
Fall Semester Courses HR Spring Semester Courses HR
ENGR 1001 1 ENGR 1011 1
ENGL 1010 3 ENGL 1020 3
HIST 2010 3 HIST 2020 3
MATH 1915 4 MATH 1925 4
PHIL 2010 3 PSYC 2010 3
ENGR 1000 1 MATH 1910 1
15 15
SOPHOMORE YEAR
Fall Semester Courses HR Spring Semester Courses HR
ENGL 2110 3 FORN LANGUAGE  3
SPCH 2200 3 ENGL 2120 3
CHEM 1110 /1111 4 MATH 3610 3
COMP 2040 3 COMP 2140 3
MATH 2115 3 ECON 2010 3
16 15
JUNIOR YEAR
Fall Semester Courses HR Spring Semester Courses HR
PHYS 2110, 2111 4 PHYS 2120, 2221 4
STAT 3110 3 COMP 3310 3
COMP 2240  3 COMP 2600 3
COMP 2400  3 COMP 3030 3
CS Application  3 COMP 3200 3
16 16
SENIOR YEAR
Fall Semester Courses HR Spring Semester Courses HR
COMP 4500 1 COMP 4510 1
COMP 3040 3 COMP 3190 3
COMP 4100 3 CONCENTRATION 3
ENGR 4900 1 CONCENTRATION 3
CONCENTRATION 3 CS Application 3
CONCENTRATION 3 13
14

Graduation Requirements:

In addition to the University requirements for graduation, the following specific College graduation requirements must be met by students in the college:

Students may graduate with a maximum of two D" grades earned in the last two semesters of the senior year. All other D" grades earned in courses prior to the senior year must be repeated the very next time the courses are offered until a minimum grade of C is earned, It a graduating senior earns more than two grades of D during the senior year, that senior will not graduate until that senior has only two grades of "D".

COURSE DESCRIPTIONS

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 CS majors. Offered every semester. Prerequisite: high school algebra. (Formerly CS121)

COMP 2040 Introduction to Computer, Problem Solving and Computer use (3). This is the first course for CS majors. The purpose is to introduce students to essential 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 ENGR 1001. (Formerly CS210)

COMP 2140 Structured Problem Solving and Programming (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. (Formerly CS211)

COMP 2240 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. (Formerly CS212)

COMP 2400 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. (Formerly CS240)

COMP 2600 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. (Formerly CS260)

COMP 2630 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 Visual Basic, C, C++ , Smalltalk, Scheme, Common Lisp, Prolog. CSO majors can take the course but credits cannot be applied towards graduation requirements. Prerequisite: COMP 2040. (New course)

COMP 3000 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. (new course)

COMP 3030 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 2240. 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. (Formerly CS310)

COMP 3040 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 primary queues, some sorting and searching algorithms and their implementations. Prerequisite: COMP 2240 or equivalent. Offered fall and spring (Formerly CS304)

COMP 3050 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. (Formerly CS305)

COMP 3170 Applied Operating Systems (1- 2). 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. (New course)

COMP 3190 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 CS 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 (New course)

COMP 3200 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. (Formerly CS320)

COMP 3310 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: COMP 2400. (Formerly CS330)

COMP 3410 Advanced Computer Organization (3). This course focuses on advanced computer organization and architecture. Topics include RISC and CISC architectures, 1-bus and multi-bus processor design, pipelining, microprogramming, memory system, and performance measures. Students will work in teams on design projects. Prerequisite: COMP 2400. (Formerly CS 341)

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

COMP 3560 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. (Formerly CS355)

COMP 3650 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. (Formerly CS365)

COMP 3710 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 of and implementation of a relational database, creating queries and the SQL (structured Query Language). Prerequisite: COMP 3200. (Formerly CS370)

COMP 3900 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 3610. (Formerly CS 390)

COMP 4100 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 3040. (Formerly CS410)

COMP 4200 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. (Formerly CS420)

COMP 4300 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. (Formerly CS430)

COMP 4400 Artificial Intelligence (3). An introduction to the core concepts of AI. Topics include expert systems, game playing, planning, vision, machine learning, neural networks, and robotics. Prerequisite: COMP 3040. (Formerly CS440)

COMP 4450 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. (Formerly CS445)

COMP 4500(ENGR 4500) 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. (Formerly ENGR 450)

COMP 4510(ENGR 4510) 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 4500. (New Course)

COMP 4550 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. (Formerly CS455)

COMP 4600 Microprocessors (2). Microprocessor Architecture, Address modes and the instruction set, Programming the Microprocessor, memory interface, Basic I/O interface, Direct Memory Addressing, Bus interface, survey of Intel Microprocessors. (Formerly CS 460)

COMP 4610 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. (New Course)

COMP 4700 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. (Formerly CS470)

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

COMP 4800 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. (Formerly CS 480)

COMP 4910 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. (Formerly CS 490)

 

Home | Academics | ©2004 Tennessee State University