• Computer Science
    MTSU professors help students successfully compete annually in various programming competitions
  • Computer Science
    Senior computer science students developed the software for the MTSU mobile app
  • Computer Science
    Few degrees have as much widespread industry demand as computer science
  • Computer Science
    More than 800 technology-related jobs go unfilled
    in the mid-state area annually

Computer Science

In the information age, few things can rival a degree in Computer Science as a passkey to the industry of one's choice. From health care to sports, from public relations to publishing—every office and every company will need to call upon someone with the skills only a degree in Computer Science can provide. MTSU's program will help make you just the person to answer that call.

Women in Computer Science at MTSU

Bridging the gender divide

Founded in 2007, Women in Computer Science at MTSU is dedicated to attracting and retaining more female students to the computer science profession. All women pursuing a computer science major or minor are encouraged to join this organization.

Battle of the brains

Battle of the brains

Each year, Computer Science students successfully compete in various competitions such as the ACM Regional Programming Contest (fifth place in 2012) and the Deloitte Mobile Challenge (second and third places in 2013).

The Computer Science Department strives to produce graduates with strong problem-solving, communication and team skills who are able to design, implement and document computer software systems. Not surprisingly, such graduates have historically been valued by employers in the industry.

Employers of MTSU alumni include

  • Arnold Engineering Development Center
  • Blackbaud
  • Buzz Wireless
  • Caterpillar Financial
  • Dell
  • Edgenet
  • Gibson Guitar
  • Google
  • Harris Corporation
  • Ingram Digital Group
  • Intel
  • Japanese American National Museum
  • Mercury Intermedia
  • Microsoft
  • Northrop Drumman
  • Oak Ridge National Laboratory
  • Riptide Sofeware
  • Schneider Electric
  • Passport Health
  • Vanderbilt University

Rebecca Bucher
Lecturer
rebecca.bucher@mtsu.edu

Hide

Dr. Ralph Butler
Professor
ralph.butler@mtsu.edu

Hide

Dr. Hyrum Carroll
Assistant Professor
hyrum.carroll@mtsu.edu

Hide

Dr. Zhijiang Dong
Associate Professor
zhijiang.dong@mtsu.edu

Hide

Dr. Cen Li
Professor
cen.li@mtsu.edu

Hide

Dr. Chrisilia C. Pettey
Department Chair, Professor
chrisila.pettey@mtsu.edu

Hide

Dr. Medha Sarkar
Professor
medha.sarkar@mtsu.edu

Hide

Dr. Suk Jai Seo
Professor
suk.seo@mtsu.edu

Hide

Dr. Rolan Untch
Professor
roland.untch@mtsu.edu

Hide

Dr. Jungsoon Yoo
Professor
jungsoon.yoo@mtsu.edu

Hide

Dr. Sung Yoo
Professor
sung.yoo@mtsu.edu

Hide

MTSU's Computer Science Department offers a Bachelor of Science degree with two options—the Professional Concentration program, accredited by the computing Accreditation Commission of ABET (www.abet.org) and the Business Applications concentration.

Students can also choose to minor in Computer Science.

For graduate students, a broad-based Master of Science degree is offered. (A student may choose between thesis and non-thesis options.)

Computer Science Minor 1 Computer Science Minor 2 Professional Computer Science

An academic map is a suggested four-year schedule of courses based on degree requirements in the undergraduate catalog. This sample schedule serves as a general guideline to help build a full schedule each term. Milestones, courses, and special requirements necessary for timely progress to complete a major are designated to keep you on track to graduate in four years. Missing milestones could delay your program. 

This map based on the 2013-2014 undergraduate catalog is not a substitute for academic advisement - contact your advisor if you have any questions about scheduling or about your degree requirements. Also see the current undergraduate catalog (catalog.mtsu.edu)for a complete list of requirements and electives. Note: Requirements are continually under revision, and there is no guarantee they will not be changed or revoked; contact the department and/or program area for current information. 

You may choose to attend a summer term to reduce your load during fall or spring terms but still stay on track to graduate in four years (see below). NOTE: Learning Support courses will alter the sequences on this map.

Suggested Fall/Spring Four-Year Schedule

Computer Science: Business Applications (Minor Option 1) Academic Map

Department of Computer Science
Middle Tennessee State University | Murfreesboro


Suggested Fall/Spring and Summer/Fall/Spring Four-Year Schedule with Business Administration Minor

Refer to the scholarships website for information regarding use of the Lottery Scholarship for the summer term.

Click here for printer friendly academic map.

Freshman Fall Freshman Spring
CourseHoursMilestones/Notes CourseHoursMilestones/Notes
CSCI 11704  CSCI 21704 
MATH 1910 (Math)4Take MATH 1730 first if weak background in Math; may take MATH 1910 with acceptable Math ACT score (26). MATH 19204 
ENGL 1010 (Comm)3  ENGL 1020 (Comm)3
HIST 2010, HIST 2020, or HIST 20303  HIST 2010, HIST 2020, or HIST 20303 
    COMM 2200 (Comm)3 
SUBTOTAL14  SUBTOTAL17 
Sophomore Fall Sophomore Spring
CSCI 30803  CSCI 31103 
CSCI 31603  CSCI 31304 
Nat Sci (Rubric 1)4  Nat Sci (Rubric 2)4 
MATH 20503  Soc/Beh Sci (Rubric 1)3 
ENGL 2020, ENGL 2030, or HUM 2610 (Hum/FA)3     
SUBTOTAL16  SUBTOTAL14 
Junior Fall Junior Spring
CSCI upper-division elective3See advisor CSCI 44103 
CSCI 32503  CSCI upper-division elective2See advisor
PHIL 31703  FIN 3000 or FIN 30103 
INFS 2200 or INFS 31003  MATH elective3Must be a course for Math major
ACTG 3000 (or ACTG 2110 and 2120)3  CSCI upper-division elective3See advisor
SUBTOTAL15  SUBTOTAL14 
Senior Fall Senior Spring
CSCI 45603  CSCI 47003 
CSCI upper-division elective3See advisor Hum/FA (Rubric 2)3 
Soc/Beh Sci (Rubric 2)3  MGMT 36103 
BLAW 3400 or BLAW 34303  MKT 38203 
Hum/FA (Rubric 1)3  Elective3to make 120 hours
SUBTOTAL15  SUBTOTAL15 
NOTE: Each course counted for a major in Computer Science must be completed with a grade of C (2.00) or higher.

TOTAL HOURS IN PROGRAM: 120

FRESHMAN FALL FRESHMAN SPRING
CourseHoursMilestones/Notes CourseHoursMilestones/Notes
CSCI 11704  CSCI 21704 
MATH 1910 (Math)4Take MATH 1730 first if weak background in Math; may take MATH 1910 with acceptable Math ACT score (26). MATH 19204 
ENGL 1010 (Comm)3  ENGL 1020 (Comm)3
HIST 2010, HIST 2020, or HIST 20303  HIST 2010, HIST 2020, or HIST 20303 
SUBTOTAL14  SUBTOTAL14 
SOPHOMORE SUMMER
ENGL 2020, ENGL 2030, or HUM 2610 (Hum/FA)3  COMM 2200 (Comm)3 
SUBTOTAL3  SUBTOTAL3 
SOPHOMORE FALL SOPHOMORE SPRING
CSCI 30803  CSCI 31103 
CSCI 31603  CSCI 31304 
Nat Sci (Rubric 1)4  Nat Sci (Rubric 2)4 
MATH 20503  CSCI upper-division elective2See advisor
SUBTOTAL13  SUBTOTAL13 
JUNIOR SUMMER
INFS 2200 or INFS 31003  CSCI upper-division elective3See advisor
SUBTOTAL3  SUBTOTAL3 
Junior Fall Junior Spring
CSCI upper-division elective3See advisor CSCI 44103 
CSCI 32503  CSCI upper-division elective3See advisor
PHIL 31703  FIN 3000 or FIN 30103 
ACTG 3000 (or ACTG 2110 and 2120)3  MATH elective3Must be a course for Math major
SUBTOTAL12  SUBTOTAL12 
SENIOR SUMMER
Hum/FA (Rubric 1)3  Soc/Beh Sci (Rubric 1)3 
SUBTOTAL3  SUBTOTAL3 
Senior Fall Senior Spring
CSCI 45603  CSCI 47003 
Elective3to make 120 hours Hum/FA (Rubric 2)3 
Soc/Beh Sci (Rubric 2)3  MGMT 36103 
BLAW 3400 or BLAW 34303  MKT 38203 
SUBTOTAL12  SUBTOTAL12 
NOTE: Each course counted for a major in Computer Science must be completed with a grade of C (2.00) or higher.

TOTAL HOURS IN PROGRAM: 120

Graduation information may be accessed here.



Computer Science: Business Applications (Minor Option 2) Academic Map

Department of Computer Science
Middle Tennessee State University | Murfreesboro


Suggested Fall/Spring and Summer/Fall/Spring Four-Year Schedule

Refer to the scholarships website for information regarding use of the Lottery Scholarship for the summer term.

Click here for printer friendly academic map.

FRESHMAN FALL FRESHMAN SPRING
CourseHoursMilestones/Notes CourseHoursMilestones/Notes
CSCI 11704  CSCI 21704 
MATH 1910 (Math)4Take MATH 1730 first if weak background in Math; may take MATH 1910 with acceptable Math ACT score (26). MATH 19204 
ENGL 1010 (Comm)3  ENGL 1020 (Comm)3
HIST 2010, HIST 2020, or HIST 20303  HIST 2010, HIST 2020, or HIST 20303 
SUBTOTAL14  SUBTOTAL14 
SOPHOMORE SUMMER
ENGL 2020, ENGL 2030, or HUM 2610 (Hum/FA)3  COMM 2200 (Comm)3 
SUBTOTAL3  SUBTOTAL3 
SOPHOMORE FALL SOPHOMORE SPRING
CSCI 30803  CSCI 31103 
CSCI 31603  CSCI 31304 
Nat Sci (Rubric 1)4  Nat Sci (Rubric 2)4 
MATH 20503  Elective2 
SUBTOTAL13  SUBTOTAL13 
JUNIOR SUMMER
MATH elective3Must be a course for Math majors CSCI upper-division elective3See advisor
SUBTOTAL3  SUBTOTAL3 
Junior Fall Junior Spring
CSCI upper-division elective3See advisor CSCI 44103 
CSCI 32503  CSCI upper-division elective3See advisor
PHIL 31703  CSCI upper-division elective2See advisor
ACTG 21103  MATH elective4 
SUBTOTAL12  SUBTOTAL12 
SENIOR SUMMER
Soc/Beh Sci (Rubric 1)3  FIN 30003 
SUBTOTAL3  SUBTOTAL3 
Senior Fall Senior Spring
CSCI 45603  CSCI 47003 
Hum/FA (Rubric 1)3  Hum/FA (Rubric 2)3 
Soc/Beh Sci (Rubric 2)3  MGMT 36103 
ECON 24203  ACTG 2120, ACSI 4230, BLAW 3400, MGMT 3620, or MKT 38203Choose one
SUBTOTAL12  SUBTOTAL12 
NOTE: Each course counted for a major in Computer Science must be completed with a grade of C (2.00) or higher.

TOTAL HOURS IN PROGRAM: 120

Graduation information may be accessed here.



Computer Science–Professional Computer Science Academic Map

Department of Computer Science
Middle Tennessee State University | Murfreesboro


Suggested Fall/Spring Four-Year Schedule

Refer to the scholarships website for information regarding use of the Lottery Scholarship for the summer term.

Click here for printer friendly academic map.

Freshman Fall Freshman Spring
CourseHoursMilestones/Notes CourseHoursMilestones/Notes
CSCI 11704  CSCI 21704 
MATH 1910 (Math)4  MATH 19204 
ENGL 1010 (Comm)3  ENGL 1020 (Comm)3
HIST 2010, HIST 2020, or HIST 20303  HIST 2010, HIST 2020, or, HIST 20303 
    COMM 2200 (Comm)3 
SUBTOTAL14  SUBTOTAL17 
Sophomore Fall Sophomore Spring
CSCI 30803  CSCI 31103 
CSCI 31603  CSCI 31304 
Nat Sci (Rubric 1)4  Nat Sci (Rubric 2)4 
MATH 20503  Soc/Beh Sci (Rubric 1)3 
ENGL 2020, ENGL 2030, or HUM 2610 (Hum/FA) 3    
SUBTOTAL16  SUBTOTAL14 
Junior Fall Junior Spring
CSCI high-level language3See dept./advisor CSCI 32103 
CSCI 32503  CSCI upper-division elective2 
Science4Complete a year-long sequence started in General Education Natural Science area PHIL 31703 
Minor course3See dept./advisor Math elective4 
Minor course3See dept./advisor CSCI upper-division elective3 
SUBTOTAL16  SUBTOTAL15 
Senior Fall Senior Spring
CSCI 41603  CSCI 47003 
CSCI upper-division elective3  Hum/FA (Rubric 2)3 
Soc/Beh Sci (Rubric 2)3  Minor course4See dept./advisor
Minor course3See dept./advisor Minor course3See dept./advisor
Hum/FA (Rubric 1)3     
SUBTOTAL15  SUBTOTAL13 

TOTAL HOURS IN PROGRAM: 120

FRESHMAN FALL FRESHMAN SPRING
CourseHoursMilestones/Notes CourseHoursMilestones/Notes
CSCI 11704  CSCI 21704 
MATH 1910 (Math)4  MATH 19204 
ENGL 1010 (Comm)3  ENGL 1020 (Comm)3
HIST 2010, HIST 2020, or HIST 20303  HIST 2010, HIST 2020, or HIST 20303 
SUBTOTAL14  SUBTOTAL14 
SOPHOMORE SUMMER
ENGL 2020, ENGL 2030, or HUM 2610 (Hum/FA)3  COMM 2200 (Comm)3 
SUBTOTAL3  SUBTOTAL3 
SOPHOMORE FALL SOPHOMORE SPRING
CSCI 30803  CSCI 31103 
CSCI 31603  CSCI 31304 
Nat Sci (Rubric 1)4  Nat Sci (Rubric 2)4 
MATH 20503  Soc/Beh Sci (Rubric 1)3 
SUBTOTAL13  SUBTOTAL14 
JUNIOR SUMMER
Minor course3  CSCI upper-division elective3 
SUBTOTAL3  SUBTOTAL3 
jUNIOR Fall Junior Spring
CSCI high-level language3See dept./advisor CSCI 32103 
CSCI 32503  CSCI upper-division elective2 
Science4Complete a year-long sequence started in General Education Natural Science area PHIL 31703 
Minor course3See dept./advisor MATH elective4 
SUBTOTAL13  SUBTOTAL12 
SENIOR SUMMER
Hum/FA (Rubric 1)3    
SUBTOTAL3  SUBTOTAL  
Senior Fall Senior Spring
CSCI 41603  CSCI 47003 
CSCI upper-division elective 3  Hum/FA (Rubric 2)3 
Soc/Beh Sci (Rubric 2)3  Minor course4See dept./advisor
Minor course3See dept./advisor Minor course3See dept./advisor
SUBTOTAL12  SUBTOTAL13 

TOTAL HOURS IN PROGRAM: 120

Graduation information may be accessed here.

Computer Science

CSCI 1000 - Computer Literacy
1 credit hour
An introduction to computers at the non-professional level. Major topics include historical development; impact on society; ethics, applications, languages, and terminology with emphasis on personal computers; productivity tools: word processor, spreadsheet, and Internet. Does not count for Computer Science major or minor.

CSCI 1150 - Computer Orientation
3 credit hours
A general introduction to computers with an emphasis on personal computing, database, word processing, presentation graphics, spreadsheets, and Internet tools. Does not count for Computer Science major or minor.

CSCI 1160 - Introduction to Computing: A Multimedia Approach
4 credit hours
Prerequisite: Sufficient background in algebra. Computer science concepts and computer software development using a multimedia approach to program development. Algorithms, programming, and documentation of media computation problems including modifying, editing, and creating picture and sound files. Explores computer science hardware and software terminology. Counts toward a Computer Science major or minor upon successful completion with a grade of A or B and approval by Computer Science chair. Three lecture hours and two laboratory hours.

CSCI 1170 - Computer Science I
4 credit hours
Prerequisite: Sufficient background in algebra and trigonometry. The first of a two-semester sequence using a high-level language; language constructs and simple data structures such as arrays and strings. Emphasis on problem solving using the language and principles of structured software development. Three lecture hours and two laboratory hours.

CSCI 2170 - Computer Science II
4 credit hours
Prerequisite: CSCI 1170 or equivalent. A continuation of CSCI 1170. Topics include introductory object-oriented programming techniques, software engineering principles, records, recursion, pointers, stacks and queues, linked lists, trees, and sorting and searching. Three lecture hours and two laboratory hours.

CSCI 2930 - Cooperative Education
3 credit hours
Experiential learning that occurs in real employment situations. Must be taken in sequence or approved by the department chair.

CSCI 2940 - Cooperative Education
3 credit hours
Experiential learning that occurs in real employment situations. Must be taken in sequence or approved by the department chair

CSCI 3031 - Computer Languages: C-Language
2 credit hours
Prerequisite: CSCI 2170 or consent of instructor. An opportunity for a Computer Science major or minor to gain experience and training in a secondary language. Covers the syntax, advantages, disadvantages, limitations, and selected applications of a language. Credit will not be given toward a Computer Science major or minor if credit has been received for the same language in another course. Credit in secondary computer languages is limited to 3 hours for the major or minor

CSCI 3032 - Computer Languages: FORTRAN
2 credit hours
Prerequisite: CSCI 2170 or consent of instructor. An opportunity for a Computer Science major or minor to gain experience and training in a secondary language. Covers the syntax, advantages, disadvantages, limitations, and selected applications of a language. Credit will not be given toward a Computer Science major or minor if credit has been received for the same language in another course. Credit in secondary computer languages is limited to 3 hours for the major or minor.

CSCI 3033 - Computer Languages: Java
3 credit hours
Prerequisite: CSCI 2170 or consent of instructor. An opportunity for a Computer Science major or minor to gain experience and training in a secondary language. Covers the syntax, advantages, disadvantages, limitations, and selected applications of a language. Credit will not be given toward a Computer Science major or minor if credit has been received for the same language in another course. Credit in secondary computer langauges is limited to 3 hours for the major or minor.

CSCI 3034 - Computer Languages: Pascal
3 credit hours
Prerequisite: CSCI 2170 or consent of instructor. An opportunity for a Computer Science major or minor to gain experience and training in a secondary language. Covers the syntax, advantages, disadvantages, limitations, and selected applications of a language. Credit will not be given toward a Computer Science major or minor if credit has been received for the same language in another course. Credit in secondary computer languages is limited to 3 hours for the major or minor.

CSCI 3035 - Computer Languages: Smalltalk
2 credit hours
Prerequisite: CSCI 2170 or consent of instructor. An opportunity for a Computer Science major or minor to gain experience and training in a secondary language. Covers the syntax, advantages, disadvantages, limitations, and selected applications of a language. Credit will not be given toward a Computer Science major or minor if credit has been received for the same language in another course. Credit in secondary computer langauges is limited to 3 hours for the major or minor.

CSCI 3036 - Computer Languages: UNIX C-Shell Programming
1 credit hour
Prerequisite: CSCI 2170 or consent of instructor. An opportunity for a Computer Science major or minor to gain experience and training in a secondary language. Covers the syntax, advantages, disadvantages, limitations, and selected applications of a language. Credit will not be given toward a Computer Science major or minor if credit has been received for the same language in another course. Credit in secondary computer languages is limited to 3 hours for the major or minor.

CSCI 3037 - Computer Languages: Visual Programming
3 credit hours
Prerequisite: CSCI 2170 or consent of instructor. An opportunity for a Computer Science major or minor to gain experience and training in a secondary language. Covers the syntax, advantages, disadvantages, limitations, and selected applications of a language. Credit will not be given toward a Computer Science major or minor if credit has been received for the same language in another course. Credit in secondary computer languages is limited to 3 hours for the major or minor.

CSCI 3038 - Computer Languages: Python
3 credit hours
Prerequisite: CSCI 2170 or consent of instructor. An opportunity for a Computer Science major or minor to gain experience and training in a secondary language. Covers the syntax, advantages, disadvantages, limitations, and selected applications of a language. Credit will not be given toward a Computer Science major or minor if credit has been received for the same language in another course. Credit in secondary computer languages is limited to 3 hours for the major or minor.

CSCI 3080 - Discrete Structures
3 credit hours
Prerequisites: CSCI 1170 and MATH 1910 or consent of instructor. Topics include formal logic, proof techniques, matrices, graphs, formal grammars, finite state machines, Turing machines, and binary coding schemes.

CSCI 3110 - Advanced Data Structures
3 credit hours
Prerequisite: CSCI 2170; corequisite: CSCI 3080. Topics include additional object-oriented programming techniques, algorithm design, analysis of algorithms, advanced tree structures, indexing techniques, internal and external sorting, graphs, and file organizations.

CSCI 3130 - Introduction to Computer Architecture
4 credit hours
Prerequisite: CSCI 3160. Organization and basic architecture of computer systems. Topics include hardware components of digital computers, microprogramming, and memory management. Laboratory exercises involve logical, functional properties of components from gates to microprocessors. Three lecture hours and two laboratory hours.

CSCI 3150 - Technology Tools
1 to 3 credit hours
Prerequisite: CSCI 1000 or equivalent or permission of instructor. The use, history, and impact of technology tools. Hands-on laboratory exercises. Does not count for Computer Science major or minor.

CSCI 3160 - Introduction to Assembly Language
3 credit hours
Prerequisite: CSCI 1170 or equivalent. Computer architecture and assembly language. Major emphasis on addressing techniques, macros, and program segmentation and linkage.

CSCI 3180 - Introduction to Numerical Analysis
3 credit hours
(Same as MATH 3180.) Prerequisites: MATH 1920 and CSCI 1160 or CSCI 1170. Topics include series approximation, finite differences interpolation, summation, numerical differentiation and integration, iteration, curve fitting, systems of equations and matrices, and error analysis.

CSCI 3210 - Theory of Programming Languages
3 credit hours
Prerequisites: CSCI 2170 and COMM 2200; corequisite: CSCI 3080. Syntax and theory of multiple languages covered with emphasis on binding times, parsers, grammars, finite automata, regular expressions, type checking and equivalence, scope of variables, exception handling, parameter passing, and storage management.

CSCI 3250 - Operating Systems
3 credit hours
Prerequisites: CSCI 2170 and CSCI 3160. Concepts and facilities of an operating system. Major concepts in memory, processor, device, and information management are covered as well as interrelationships between the operating system and the architecture of the computer system.

CSCI 3420 - Social, Ethical, and Legal Implications of Computing
2 credit hours
Prerequisites: A three-hour course in computing, COMM 2200, and junior standing. Introduction to the impact of computers on society and the ethical and legal issues confronting computer users and professionals. Does not count toward a minor in Computer Science.

CSCI 3970 - Cooperative Education
3 credit hours
Experiential learning that occurs in real employment situations. Must be taken in sequence or approved by the department chair.  CSCI 3970 may count towards the Computer Science major. It may not be used in conjunction with CSCI 4600.

CSCI 3980 - Cooperative Education
3 credit hours
Experiential learning that occurs in real employment situations. Must be taken in sequence or approved by the department chair.

CSCI 4110 - Advanced Commercial EDP
3 credit hours
Prerequisite: CSCI 2170 or equivalent. File management in business applications. Structuring and identification of files stressed along with software engineering principles. COBOL language used as the implementation tool.

CSCI 4130 - Microprocessor Operation and Control
3 credit hours
Prerequisite: CSCI 2170. Digital systems based around microcomputers, microcomputer architecture, logic replacement, memory design, timing considerations, input/output design, interfacing, robotics, and total system design.

CSCI 4160 - Compiler Design and Software Development
3 credit hours
Prerequisites: CSCI 3080, CSCI 3110, and CSCI 3160. The various phases of a compiler along with grammars, finite automata, regular expressions, LR parsing, error recovery, backward and forward flow analysis, and code optimization. A term project consisting of the design and construction of a functional complier required.

CSCI 4250 - Computer Graphics
3 credit hours
Prerequisites: CSCI 2170 and CSCI 3080 or consent of instructor. Topics include vector drawing displays, raster scan displays, input devices and techniques, graphics software, transformations, projections, interpolation, and approximation.

CSCI 4280 - Undergraduate Research
1 to 4 credit hours
Prerequisite: Permission of instructor and department. Independent investigation of a selected research problem under the guidance of a faculty member resulting in an oral and written report of results. Does not count toward a minor in Computer Science. May be repeated for a maximum of four credits. A maximum of three credits in the major may come from CSCI 3970, 4280, CSCI 4600, and CSCI 4910.

CSCI 4300 - Data Communication and Networks
3 credit hours
Prerequisite: CSCI 3250. Computer network architectures, protocol hierarchies, and the open systems interconnection model. Modeling, analysis, design, and management of hardware and software on a computer network.

CSCI 4330 - Parallel Processing Concepts
3 credit hours
Prerequisites: A working knowledge of either C or C++ and either CSCI 3130 or CSCI 3250. Basic concepts in parallel processing and programming in a parallel environment. Topics include classification of parallel architectures, study of actual parallel architectures, design and implementation of parallel programs, parallel software engineering.

CSCI 4350 - Introduction to Artificial Intelligence
3 credit hours
Prerequisites: CSCI 3110 and CSCI 3080 or equivalent. Principles include search strategies, knowledge representation, reasoning, and machine learning. Applications include expert systems and natural language understanding.

CSCI 4360 - Intelligent Robot System
3 credit hours
Prerequisites: CSCI 2170 and CSCI 3080. Principles and applications of intelligent mobile robotics. Various architectures used in the basic AI robotics development paradigms and basic techniques used for robot navigation. Strong emphasis on hands-on mobile robot design, construction, programming, and experimentation using a variety of robot building platforms.

CSCI 4410 - Web Technologies
3 credit hours
Prerequisites: CSCI 3080 and CSCI 3110. An intensive introduction into current Web technologies including basic HTML, tools for Web page design, XML, client-side methods, and server-side methods. Students will be required to implement several Web-based projects.

CSCI 4560 - Database Management Systems
3 credit hours
Prerequisites: CSCI 3080 and CSCI 3110. The relational and object models of database design along with relational algebras, data independence, functional dependencies, inference rules, normal forms, schema design, modeling languages, query languages, and current literature.

CSCI 4600 - Independent Study in Computer Science
1 to 6 credit hours
Prerequisites: Senior standing and consent of instructor. Students wishing to enroll must submit a written course/topic proposal to the department prior to the semester in which CSCI 4600 is taken. Proposal must be approved prior to taking the course. At the course conclusion, each enrollee must submit a written report to the department. May count up to 3 hours toward Computer Science major. May not be used in conjunction with CSCI 3970.

CSCI 4700 - Software Engineering
3 credit hours
Prerequisites: CSCI 3080, CSCI 3110, and COMM 2200. Consists of a theoretical component and a practical component. Topics include the history of software engineering, software development paradigms and life cycles, and computer-aided software engineering (CASE). Team project developed in parallel with the theory.

CSCI 4800 - Software Testing
3 credit hours
Prerequisites: CSCI 2170 and CSCI 3080. Integrates theory and applications of software testing techniques. Provides actual hands-on testing experience. Considers multiple testing paradigms.

CSCI 4850 - Neural Nets
3 credit hours
Prerequisite: CSCI 3080. Various neural net architectures, theory, and applications including models such as Perceptron, back propagation, Kohonen, ART, and associative memory. Learning and conditioning methods also studied.

CSCI 4900 - Selected Topics in Computer Science
3 credit hours
Prerequisite: CSCI 2170. Advanced topics in computer science to be selected and announced at time of class scheduling. May be repeated for up to six credits total.

CSCI 4910 - Computer Science Internship
1 to 6 credit hours
Prerequisites: CSCI 2170 and CSCI 3160; MATH 1910 and MATH 1920; must have completed at least 30 semester hours with two semesters at MTSU; must have taken at least two computer science courses at MTSU; minimum overall average of 2.75 and 3.00 in computer science. Employment experience in a computer-related function in a firm, governmental agency, etc. Must be approved by the department.