Computer Science Courses
JSU Home » MCIS Home » Computer Science Courses



( Prerequisite Chart)

201. Introduction to Information Technology (3). A brief exposure to theory and operations of information technology. Concepts presented include computer systems, hardware and software. Hands-on experience with selected productivity software packages. (Department credit not given for CS/CIS majors and/or minors.)

202. Honors Introduction to Information Technology (3). Prerequisite: ACT score of 24 or above or SAT of 520 or above and basic computer proficiency. Advanced coverage of the theory and operations of information technology. Hands-on experience with selected popular software packages for Web and program design. (Department credit not given for CS/CIS majors or minors.)

230. Fundamentals of Computing (3). Lecture/3 hours, Lab/1.5 hours. Sets, functions, propositional logic, number systems, data representation, binary arithmetic. Problem solving tools and techniques. Control structures. Data structures. Implementation using a high-level language. (Open to any major, but required for CS/CIS majors.)

231. Computer Programming I (3). Lecture/3 hours, Lab/1.5 hours. Prerequisites: CS 230 with a "C" or better and overall GPA of 2.0 or higher and MS 112 or higher level mathematics (excluding MS 113) or placement determined by ACT/SAT. Algorithmic problem solving. Modular programming. Strings, multi-dimensional arrays, records, dynamic linked lists. Documentation. Testing and debugging. Developing robust, user-friendly programs. Integral, scheduled laboratory.

232. Computer Programming II (3). Lecture /3 hours, Lab/1.5 hours. Prerequisite: CS 231 with a "C" or better. Advanced problem solving. Efficiency and reuse. Abstract Data Types. Object-Oriented programming. Dynamic data structures: linked lists, queues, stacks. Recursive functions and procedures. Integral, scheduled laboratory.

300. Microcomputing (3). Prerequisite: CS 231. Examination of micro-computers and their role in small to medium firms. Emphasis on applications, I/O operations and file handling in a laboratory environment.

302. Database Applications (3). Prerequisite: CS 231. Introduction to database management systems using a current DBMS package; development of menu-driven database applications.

303. Advanced Computer Applications (3). Prerequisite: CS 231. A continuation of hands-on experience with selected application software. Includes advanced topics in an object-oriented language.

304. Technical Writing for Computer Science (3). Prerequisites: EH 102 and CS 230. Introduction to the writing tasks necessary of computer technology professionals. Covers skills necessary to prepare the technical reports, presentations, and documentation specific to the information technology environment.

305. Spreadsheet Modeling (3). Prerequisites: MS 112 or higher and CS 201. The use of spreadsheet software in modeling business problems. Extensive hands-on use of spreadsheets is required. (Department credit not given for CS/CIS majors or minors.)

307. Management of Information Security and Forensics (3). Prerequisite: CS 201. Study of information security and digital forensics using practical case studies. Emphasis is on developing security policies, security management and practices, utilization of digital forensic tools and techniques, risk management, security project management, and protection mechanisms. Major components of the course are hands-on projects on digital forensic investigation and security management case studies.

309. Introduction to E-Commerce (3). Prerequisite: CS 201. This course focuses on a rich variety of models and strategies for connecting individuals, businesses, governments, and other organizations to each other. The topics covered in the course will span value and supply chain concepts, varying business relationship types, as well as obligations for protection of individual privacy and organizational security.

310. Software Engineering I (3). Prerequisite: CS 231. Introduction to the systems development life cycle, software development models, analysis and design techniques and tools, and validation and verification testing. Emphasis and experience will be on software engineering within a team environment.

311. Management Information Systems (3). Prerequisite: CS 231. Study of the systems concept and its relationship to information requirements for decision making and management in traditional and e-commerce environments.

312. Software User Documentation (3). Prerequisites: CS 310 and EH 102. Introduction to writing, analyzing, and evaluating effective software documentation. Exposure to proposal writing. Emphasis on writing software user manuals.

315. Introduction to Web Design (3). Prerequisite: CS 201. Step-by-step process of creating a well-designed website. Emphasizes web design techniques resulting in fast-loading and well-placed graphics, cohesive color and typography across plat-forms and browsers, clear navigational interface, and appropriate use of sound and video. Includes studio component where students analyze, design, and implement websites.

322. Document Management (3). Prerequisite: CS 304. Trains students to manage dynamic documents as well as apply document imaging technologies to achieve a paperless office environment. Students will learn about the technology of scanning, importing, transmitting, organizing, indexing, storing, protecting, locating, controlling, authenticating, retrieving, viewing, printing, and preserving documents for document imaging systems and digital libraries. This course has direct implications for project management and information assurance, among other topics that will be addressed.

325. Web Scripting (3). Prerequisite: CS 231 or 315. A practical hands-on introduction to web scripting for writing client-side scripts. Topics include fundamentals of scripting as a web programming language, scripting techniques and programming concepts such as control structures, data structure, objects, event handling, and functions. Multiple scripting languages will be used for the hands-on projects.

331. Data Structures and Algorithms (3). Prerequisite: CS 232. Design, analysis, and implementation of fundamental data structures: trees, heaps, and graphs. Basic algorithmic analysis and strategies. Basic computability and introduction to distributed algorithms.

333. Computer Organization and Architecture (3). Prerequisite: CS 232. Digital logic; instruction set architecture and computer organization; memory systems; functional organization; interfacing and communication; multiprocessing and alternative architectures.

334. Discrete Computational Structures (3). Prerequisite: CS 230 and MS 112 or higher. Introduction to the concepts, terminology and manipulative skills associated with combinatorial structures and logic. Sets and functions, partially ordered sets, trees and graphs, algorithms and induction. Boolean algebra and introduction to symbolic logic.

339. Game Design I (3). Prerequisites: CS 201 and EH 102. Principles of game design. Covers analysis of genres; gameplay; conceptual design; story and character development; effects of art, lighting, and sound; interface design; level design; and the business of game development.

340. Discovering Genomics and Bioinformatics (3). Prerequisites: CS 230 and BY 322.The course provides a fundamental background in bioinformatics, both theoretical (bioinformatics algorithms) and practical (databases and web-based tools used to study problems in biology), to students in computer science or in biological sciences. Introduction to the biological problems addressed in this course will be provided, as well as a formal definition of the computational problems and a deep exploration of the algorithms for solving these problems. Practical use of topics introduced in class is demonstrated by laboratory exercises and homework problems. Students are grouped for class projects such that each group contains at least one life scientist and one computer scientist. (CS 340 is cross listed with BY 340, but only one course may be taken for credit.)

350. Fundamentals of Computer Operating Systems (3). Prerequisite: CS 232. Introduction to operating systems, real and virtual storage concepts, system resources and their management, multi-program and multi-process systems. Mainframe, mini-computer and microcomputer systems.

370. COBOL for Information Systems (3). Lecture/3 hours, Lab/1.5 hours. Prerequisite: CS 232. An introduction to solving business problems using structured programming techniques and methodology for both interactive and batch processing. Integral, scheduled laboratory.

399. Study Tour (3). Topics, excursions and requirements determined by department. May be duplicated for credit; however, only three (3) credits may be applied toward any major or minor. Infrequently scheduled and subject to minimum and maxi-mum numbers. Advanced deposit required.

400. Business Information Management (3). Prerequisite: CS 201 or equivalent. Study of terminology and concepts of computer-based management information systems. Emphasis on applications for developing and managing World-Wide Web page information. (Department credit not given for CS/CIS majors and/or minors.)

415. Dynamic Web Application (3). Prerequisite: CS 488. The course will present dynamic web based application architecture, web scripting languages syntax, principles and techniques for developing database driven web applications using multiple web scripting languages. Students will gain the experience in web scripting programming via the completion of a series of practical dynamic web-site projects.

417. System Modeling/Simulation (3). Prerequisites: MS 204 or 302 or 304 and CS 232. The design/structure of discrete-event simulation including model construction, validation, result analysis, documentation, and the use of special purpose simulation languages.

420. Algorithms Design/Analysis (3). Prerequisite: CS 331. Survey of design and analysis of efficient algorithms. Introduces methods of describing algorithm time and space complexity and various problem-solving techniques.

425. Web Application Development Using Web Services (3). Prerequisite: CS 310. Introduction to technologies and tools for developing Web applications using Web Services, emphasizing organizational issues, challenges, and security concerns related to the effective deployment of those applications.

430. Human-Computer Interaction (3). Prerequisite: CS 232. Human-computer interface, human performance, diversity, and mental models, interaction devices, dialog styles, interface styles, error handling, documentation, and evaluation of software interface designs. Offered every two years during spring semester.

432. Computer Graphics (3). Prerequisites: CS 232 and MS 113 or equivalent. Hardware and software components of computer graphic systems, input representation, and transformation of graphic information. Two-dimensional and three-dimensional transformations; perspective, hidden-line algorithms, shading. Interactive graphics. Survey of applications. Offered every two years during spring semester.

433. Advanced Computer Architecture (3). Prerequisite: CS 333. Advances in instruction-set architecture, instruction-level parallelism, pipelining, memory hierarchy design, vector/parallel computers, multiprocessors, and interconnection networks.

439. Game Design II (3). Prerequisites: CS 331 and CS 339. Principles of game development. Covers relevant game mathematics and data structures; selected artificial

intelligence topics common to game development; programming and optimization techniques; game engines; and software engineering and project management for game development.

440. Advanced COBOL for Information Systems (3). Prerequisite: CS 370. A continuation of CS 370 with concentration on advanced applications of COBOL programming. Emphasis on table handling, sort features, direct access, GUI and Web applications.

441. Computer System Programming (3). Prerequisite: CS 350. Use of a high-level language in the development, interfacing and integration of assemblers; compilers, operating systems; and machine architecture.

442. Compiler Construction (3). Prerequisite: CS 331. The theory behind and construction of compilers. Various parsing methods, intermediate code, and storage allocation will be discussed.

443. Expert Systems (3). Prerequisite: CS 232. This course is an introduction to the definition, design, and development of expert systems.

444. Artificial Intelligence (3). Prerequisites: CS 331 or 350 or permission of instructor. An introduction to the principles and methods used in artificial intelligence programs with a focus on autonomous agents. Offered every two years during fall semester.

450. Computer Networking (3). Prerequisite: CS 350. Study of computer interconnection and protocols with emphasis on network layers, error detection/correction, data compression, and topologies. Project approach utilized.

453. Survey of programming Languages (3). Prerequisite: CS 232. Surveys major issues in programming language design, formal representations for language syntax and semantics, introduces underlying language theory, and examines major language models.

454. Assembly Language programming (3). Prerequisite: CS 232. Introduction to symbolic assembler language; program linkage; I/O instructions; system and user defined macros; and machine organization.

462. Ethics and Legal Issues (3). Prerequisite: CS 310 or permission of instructor. An overview of legal, ethical, global and professional issues in computing.

470. Computer Security (3). Prerequisite: CS 350. Study of network security architectures and models, cryptography, authentication and authorization protocols, secure application and systems development, and federal regulations and compliance. Emphasis is on security professional certification.

488. Database Systems (3). Prerequisite: CS 232. Concepts and terminology associated with data structure, file organization, access methods, packaged systems, database design and database systems.

491. Software Engineering II (3). Prerequisite: CS 310. This course is a continuation of software engineering that emphasizes implementing and testing software, developing and using process and product metrics, and managing software projects. A team approach and extensive semester project will develop student expertise.

496. Laboratory practicum (1). Prerequisite: Permission of department head. Four hours of laboratory each week. Students learn to utilize various computer hardware and software while assisting a computer science faculty member. For CS/CIS juniors and seniors.

499. Special Topics (3). Prerequisites: Senior status and permission of department head. Exposes student to current or developing topics in computer science or computer information systems. Projects/topics are jointly selected by student and computer science instructor.

Back to top


501. Database Management Systems (3). Prerequisite: A programming language. Information as corporate resource, data modeling, database design, implementation strategies and administration; security, information centers, decision support systems, mini- and microcomputer environment; teams of students will design and implement a relational database application.

510. Introduction to Computing (3). Includes fundamental computer science concepts, computer programming, software engineering, data structures, and algorithms. (For graduate students with limited computer science backgrounds who wish to major in computer systems and software design; cannot be used for Master's degree credit.)

514. Introduction to Computer Systems (3). Prerequisite: Permission of the instructor. Study of operating systems, networks, and computer architecture; advanced systems programming using an object-oriented programming language. (For graduate students with limited computer science backgrounds who wish to major in computer systems and software design; cannot be used for Master's degree credit.)

521. Applied Software Engineering I (3). Prerequisite: Comprehensive undergraduate course in software engineering or industrial software engineering experience with a large project. Focuses specifically on methods that guide software engineers from requirements to code; provides broad understanding of current methods, and specific skills in using these methods.

523. Applied Software Engineering II (3). Prerequisite: CS 521. Provides knowledge and skills necessary to lead a project team, understand the relationship of software development to overall product engineering, and understand the software process.

525. Advanced Web Application Development Using Web Services (3). Prerequisite: Undergraduate software engineering course equivalent. Utilization of various technologies and tools for developing Web applications using Web Services, emphasizing organizational issues, challenges, and security concerns related to the effective deployment of those applications. Students will evaluate real-world applications of Web services as well as the unique decision-making framework involved with their adoption while employing those lessons learned in practical solutions.

530. Human-Computer Interaction (3). Prerequisite: Comprehensive undergraduate course in software engineering or industrial software engineering experience with a large project. Human-computer interface, human performance, diversity, and mental models, interaction devices, dialog and interface styles, documentation, and usability testing.

534. Emerging Software Architectures and Methodologies (3). Prerequisite: Comprehensive undergraduate course in software engineering or industrial software engineering experience with a large project. Explores emerging technologies and contemporary development methodologies for large scale software systems; difficulties and benefits of software by component composition, component reuse and software architectures.

543. Advanced Expert Systems (3). Prerequisite: Experience with a procedural or object-oriented programming language. This course provides an in-depth study of expert knowledge-based problem-solving systems. Students perform a classification and comparison of selected systems by analyzing the architecture, knowledge, and problem-solving style. Students evaluate the contributions of each to the understanding of problem domains for expert systems.

544. Applied Artificial Intelligence (3). Prerequisite: Undergraduate artificial intelligence course or equivalent. Survey of artificial intelligence emphasizing applications in business, industrial, and scientific system development; autonomous agents, data mining, pattern recognition, and machine vision.

545. Advanced Computer Networking (3). Prerequisite: Undergraduate operating system course or equivalent. A study of advanced topics in computer networks with emphasis on wireless communications. Fundamentals of cellular communications, CDMA systems, wireless security, Wireless Application Protocols (WAP), Bluetooth, and new wireless technologies are also covered.

550. Distributed Computing Systems (3). Prerequisite: Undergraduate course in computer networking or equivalent. Design and analysis of distributed computing systems; system architecture; load balancing and scheduling; remote procedure calls and message passing; distributed operating systems and database systems.

553. Simulation, Modeling, and Forecasting (3). Prerequisite: CS 521. Deterministic and stochastic models are studied; simulation techniques, languages, and programming packages used to implement simulation models; virtual reality simulations.

565. Embedded and Real-Time Software Development (3). Prerequisite: CS 521. In-depth study of requirements or real-time and embedded software; examination of operating systems, languages, and devices that support these systems; real-time multimedia applications emphasized.

570. Advanced Computer Security (3). Prerequisite: Undergraduate operating system course or equivalent. Study of advanced network security architectures, models, benchmarks and metrics, cryptography, authentication and authorization protocols, secure application and systems development, federal regulations and compliance, and advanced security topics on intrusion detection, biometrics, web services, and data mining. Emphasis is on security professional certification.

591, 592. Special Topics in Computer Science (3) (3). Prerequisites: Permission of the advisor and approval of the department head. Selected topics from current problems in computing; topics vary from semester to semester. May be taken twice for credit.

595, 596. Studio Component (3) (3). Prerequisites: Permission of the advisor and approval of department head. Provides students with a laboratory for direct application of concepts learned in course work; students will produce a variety of software products.

Back to top