Undergraduate Courses

  • 4650 - INTRODUCTION TO COMPILATION TECHNIQUES

    Topics include parsing, syntax-directed translation, run-time storage management, error recovery, code generation and optimization. A significant project is required.

    Credit Hours: 3
    Coordinator: Barrett Bryant
    Prerequisites:

    CSCE 2100, CSCE 2110 and CSCE 3600

    Textbook:

    Compilers, Principles, Techniques and Tools, 2nd Edition, Aho, Addison Wesley, ISBN 9780321486813

    Course Outcomes:
    1. Given a context-free grammar, build SLR(1), LR(1) and LALR(1) parse tables for that grammar.
    2. Given a context-free grammar, an LR parse table and an input string, show the steps of the parse.
    3. Given a language specification for an imperative language, build a parser for the language using tools such as lex and yacc.
    4. Integrate semantic actions into the above parser to construct a symbol table, perform type checking, and generate intermediate code.
    5. Given a control-flow graph with intermediate 3-address code within each basic block, show the improved control-flow graph after hand-optimizing for common subexpression elimination, copy propagation, and dead code removal.
  • 4655 - PRINCIPLES OF COMPILER OPTIMIZATION

    Design and implementation of modern methods of analysis and optimization within compilers for a variety of target architectures. Topics include intermediate representations, advanced code generation, control- and data-flow analysis, advanced compiler optimization, dynamic compilation, global register allocation and instruction scheduling.

    Credit Hours: 3
    Prerequisites:

    CSCE 3600

    Course Outcomes:
    1. Students will develop a good understanding of basic compiler analysis and optimization techniques.
    2. Students will sharpen their skills in comparing and evaluating different compiler techniques with the intent of choosing among several techniques for inclusion into a production compiler.
    3. Students will develop their skill in adding to existing software.
    4. Students will be able to design, implement and write about experimental compiler research in a professional manner.
    5. Students will develop skills in professional oral presentation of their work.
  • 4730 - VLSI DESIGN

    Introduction to VLSI design using CAD tools, CMOS logic, switch level modeling, circuit characterization, logic design in CMOS, systems design methods, test subsystem design, design examples, student design project.

    Credit Hours: 3
    Coordinator: Saraju Mohanty
    Prerequisites:

    CSCE 2100, ENGR 2720 and ENGR 2730

    Textbook:

    Required: CMOS VLSI Design: A Circuits and Systems Perspective, Neil Weste, David Harris, 2010, ISBN 9780321547743, Recommended:Nanoelectronic Mixed-Signal System Design, Saraju Mohanty, 2015, ISBN 9780071825719

    Course Outcomes:
    1. Understand the concept of MOS transistor.
    2. Understand the operational characteristics of MOS transistor.
    3. Understand the Power dissipation mechanisms in MOS transistor.
    4. Understand the transistor-level realization of Boolean functions.
    5. Able to use CAD tools to design and simulate digital circuits.
  • 4750 - VLSI TESTING

    Advanced experience with CAD tools for VLSI design, IC testing. Design Project from CSCE 4730 to be fabricated and tested. Implementation and verification of test programs, IC testing and troubleshooting, legal, economic, and ethical design issues. Oral presentations and written reports are required.

    Credit Hours: 3
    Coordinator: Saraju Mohanty
    Prerequisites:

    CSCE 4730

  • 4810 - BIOCOMPUTING

    Introduction to computation problems inspired by the life sciences and overview of available tools. Methods to compute sequence alignments, regulatory motifs, phylogenetic trees and restriction maps. (Same as BIOL 4810 and MATH 4810; taught with CSCE 5810.)

    Credit Hours: 3
    Coordinator: Armin R. Mikler
    Prerequisites:

    CSCE 3850 or junior or senior standing

    Textbook:

    Required: Intro to Bioinformatics Algorithms, Jones, MIT, ISBN 9780262101066; Recommended: Beginning Perl for Bioinformatics, Tisdall, O'Reilly, ISBN 9780596000806

    Course Outcomes:
    1. Learn the principles of Molecular Biology and Genetics
    2. Understand the concepts of DNA structure and encoding
    3. Understand the Central Dogma of Biology (DNA->RNA->Protein)
    4. Understand the importance of Bioethics
    5. Learn basic Perl programming
    6. Understand computational complexity of Bioinformatics problems
    7. Learn fundamental computational tasks/algorithms of Bioinformatics
    8. Learn about NCBI and available Bioinformatics tools
  • 4820 - COMPUTATIONAL EPIDEMIOLOGY

    Application of computation methods to problems in fields of public health. Design and implementation of disease outbreak models. (Same as BIOL 4820; taught with CSCE 5820.)

    Credit Hours: 3
    Coordinator: Armin R. Mikler
    Prerequisites:

    CSCE 3850 or junior/senior standing

    Textbook:

    Required: An Introduction To Epidemiology, Ray Merrill, 2013, ISBN 9781449665487, Recommended: Infectious Diseases of Humans: Dynamics and Control, Roy Anderson, Robert May, 1992, ISBN 9780198540403

    Course Outcomes:
    1. Understand the interdisciplinary nature of Computational Epidemiology.
    2. Understand the principles of Epidemiology and its challenges to identify the cause of outbreaks.
    3. Understand the fundamentals of mathematical outbreak models and their interpretation.
    4. Understand the basics of computational modeling and simulation.
    5. Learn the fundamental study designs in epidemiology.
    6. Understand the difficulties of communicating among researchers in an interdisciplinary setting.
    7. Learn to present Public Health related information and study results.
  • 4890 - DIRECTED STUDY

    Study by individuals or small groups if faculty supervisor agrees. A plan of study approved by the faculty supervisor along with the study will be graded by the faculty supervisor must be approved by the Coordinator for Undergraduate Studies.

    Prerequisites:

    Junior or Senior level standing in Computer Science, Computer Engineering, or Information Technology, and consent of instructor

  • 4901 - SOFTWARE DEVELOPMENT CAPSTONE

    Students demonstrate their mastery of the breadth of Computer Science learned in their studies. Focus is on the application of computer science techniques to the design of applications involving multiple software components. Students apply the theory acquired from numerous computer science courses to solve real-world design and development problems. The design will consider realistic constraints including economic, environmental, critical thinking, technical writing and communications skills, and group management skills in completing their design and development project.

    Credit Hours: 3
    Coordinator: Stephanie Ludi
    Prerequisites:

    CSCE 4444 and TECM 2700

    Corequisite: CSCE 4110

    Course Outcomes:
    1. Gather and refine user functional requirements and other functional and non-functional requirements and constraints for a large scale software system and create a software requirements specification document.
    2. Perform software analysis and design tasks using recognized software methods to create a preliminary design specification for software based on a requirements specification.
    3. Utilize project management principles, skills and tools in creating the requirements and preliminary design specifications.
    4. Create a test plan plan using appropriate testing strategies and techniques for a large scale software project.
    5. Utilize configuration management, project management and design tools in the course of the project.
  • 4905 - INFORMATION TECHNOLOGY CAPSTONE I

    First of a two course sequence in which students develop a complex IT System starting from customer requirements and progressing through the entire analysis, design, implementation, testing and delivery lifecycle. Students work in teams to develop a project plan, complete the technical components of the project, prepare a variety of deliverable documents, and finally deliver the finished product to the customer. The first course will focus on the analysis and design of the system.

    Credit Hours: 3
    Coordinator: David Keathly
    Prerequisites:

    CSCE 3055

    Course Outcomes:
    1. Gather and refine user functional requirements and other functional and non-functional requirements and constraints for a large scale information system, and create a system requirements specification document.
    2. Perform system analysis and design tasks using recognized software engineering methods to create a preliminary design specification for a system based on a requirements specification.
    3. Utilize software project management principles, skills and tools in creating the requirements and preliminary design specifications.
    4. Create a project management plan, including a schedule and budget for a large scale information systems project.
    5. Utilize configuration management, project management and design tools in the course of the project.
    6. Understand the classification and characteristics of large computing systems.
    7. Demonstrate the ability to perform common systems installation, integration, maintenance, and administration tasks.
  • 4910 - COMPUTER ENGINEERING DESIGN I

    First course in the senior capstone design sequence. Focus is the application of techniques to the design of electronic systems that have digital hardware and software components. Students apply the theory acquired from numerous engineering courses to solve real-world design problems. The design will consider realistic constraints including economic, environmental, sustainability, manufacturability, ethical, social, safety.

    Credit Hours: 3
    Coordinator: David Keathly
    Prerequisites:

    CSCE 3612 and EENG 3510 and appropriate area electives

    Textbook:

    No textbook required

    Course Outcomes:
    1. Gather and refine user functional requirements and other functional and non-functional requirements and constraints for a large scale processor-based system and create a system requirements specification document.
    2. Perform system analysis and design tasks using recognized software and systems engineering methods to create a preliminary design specification for a system based on a requirements specification.
    3. Utilize project management principles, skills and tools in creating the requirements and preliminary design specifications.
    4. Create a project management plan, including a schedule and budget for a large scale information systems project.
    5. Utilize configuration management, project management and design tools in the course of the project.
  • 4915 - COMPUTER ENGINEERING DESIGN II

    Second course in the senior capstone design sequence. Focus is the application of techniques to the design of electronic systems that have digital hardware and software components. Students apply the theory acquired from numerous engineering courses to solve real-world design problems. The design will consider realistic constraints including economic, environmental, sustainability, manufacturability, ethical, social, safety.

    Credit Hours: 3
    Coordinator: David Keathly
    Prerequisites:

    CSCE 4910. CSCE 4915 must be completed in the long term/semester immediately following the completion of CSCE 4910.

    Textbook:

    No textbook required

    Course Outcomes:
    1. Create a detailed systems design and implementation plan using standard engineering tools and methodology.
    2. Implement the design for a processor-based system.
    3. Create a test plan and series of test procedures for a project and execute the procedures against the components created.
    4. Create a delivery and maintenance plan for the system.
    5. Utilize configuration management, project management and design tools in the course of the project.
    6. Create a lifecycle plan for the system developed.
  • 4920 - COOPERATIVE EDUCATION IN COMPUTER SCIENCE & ENGINEERING

    Supervised field work in a job directly related to the student's major field of study or career objective. May be repeated for credit.

    Prerequisites:

    Junior or Senior standing in Computer Science, Computer Engineering or Information Technology and consent of department

  • 4925 - INFORMATION TECHNOLOGY CAPSTONE II

    Second of a two-course sequence in which students develop a complex IT System starting from customer requirements and progressing through the entire analysis, design, implementation, testing and delivery lifecycle. Students will work in teams to develop a project plan, complete the technical components of the project, prepare a variety of deliverable documents, and finally deliver the finished product to the customer. The second course focuses on the implementation, testing and delivery of the system.

    Credit Hours: 3
    Coordinator: David Keathly
    Prerequisites:

    CSCE 4905. CSCE 4925 must be completed in the long term/semester immediately following the completion of CSCE 4905.

    Course Outcomes:
    1. Create a detailed systems design and implementation plan using standard software engineering tools and methodology.
    2. Implement the design for a large scale information system.
    3. Create a test plan and series of test procedures for a project and execute the procedures against the components created.
    4. Create a delivery and maintenance plan for a large scale information system.
    5. Utilize configuration management, project management and design tools in the course of the project.
    6. Create a lifecycle plan for the information system developed.
    7. Understand the classification and characteristics of large computing systems.
    8. Demonstrate the ability to perform common systems installation, integration, maintenance, and administration tasks.
    9. Demonstrate the ability to plan and execute the deployment of an IT system or components into a client environment.
  • 4930 - TOPICS IN COMPUTER SCIENCE & ENGINEERING

    Topics vary. May be repeated for credit.

    Credit Hours: 3
    Prerequisites:

    Junior or Senior standing in Computer Science, Computer Engineering or Information Technology and consent of instructor

  • 4940 - SPECIAL COMPUTER APPLICATION PROBLEM

    Study defined by the student in applying computer science to another field. Work supervised and work plan approved by one faculty member from computer science and one from relevant application area, one to three students may work together if all faculty advisers concerned agree. Open to advanced undergraduate students capable of developing problems independently. May be repeated for credit.

    Prerequisites:

    Prior approval of plan by faculty supervisor.  Open to advanced undergraduate students capable of developing problems independently.  May be repeated for credit.

  • 4950 - SPECIAL PROBLEMS IN COMPUTER SCIENCE & ENGINEERING

    Prior approval of plan of study by faculty supervisor

    Prerequisites:

    Junior or Senior standing in Computer Science, Computer Engineering or Information Technology and consent of instructor

  • 4951 - HONORS COLLEGE CAPSTONE THESIS

    Major research project prepared by the student under the supervision of a faculty member and presented in standard thesis format. An oral defense is required of each student for successful completion of the thesis. May be substituted for HNRS 4000.

    Credit Hours: 3
    Prerequisites:

    Completion of at least 6 hours in honors courses, completion of at least 12 hours in the major department which the thesis is prepared, approval of the department chair and the dean of the school or college in which the thesis is prepared, approval of the dean of the Honors College

  • 4999 - SENIOR THESIS

    Intended to be a serious exercise in the organization and presentation of written material. Students select their own topics in consultation with their faculty advisor. The thesis is a research paper and students are responsible, with the advice of their faculty, for the investigation of sources, the accumulation of data, the selection of pertinent material, and the preparation of the thesis in acceptable form. Students must submit their own topics for thesis, with designated advisor approval, before they are allowed to register for the course.

    Credit Hours: 3
    Prerequisites:

    Senior standing

    Course Outcomes:
    1. Good time management skills, by meeting each deadline for the thesis.
    2. Ability to organize a complete significant written paper both in a manner appropriate to the topic, and to meet accepted standards of academic writing.
    3. An ability to work with and take direction from the faculty member acting as advisor on the project.
    4. Synthesis techniques to place existing work in the context of their thesis.
    5. The expository writing skills necessary to create a well-written thesis that targets the intended audience.

Pages