May 04, 2024  
2019-2020 Undergraduate Catalog (As of 09-27-19) 
    
2019-2020 Undergraduate Catalog (As of 09-27-19) [ARCHIVED CATALOG]

Course Descriptions


 

Computer Science

CSCI 200-Level or Above

All computer science majors must attain an overall GPA of at least 2.000 in all computer science courses taken at the 200 level or above.

  
  • CSCI 110 Computer Fluency (3)

    An introduction to computing providing the student with the ability to understand and use emerging technology effectively. Topics include, but are not limited to: how computers work, the ubiquity of computing, applications and operating systems software, cloud computing, the Internet and networks, and computing issues. Lectures three hours per week.
    Course Frequency: Occasional
  
  • CSCI 111 Introduction to Cybersecurity (3)

    Students will explore concepts of cybersecurity and how to apply them to their own program of study. Topics include: cryptography, cyber defense, cyber threats, cybercrime, forensics analysis, risk assessment, scripting and data analysis for security, design of security policies and mechanisms, hands on experimentation with computer and network security tools.
    Course Frequency: Fall and Spring
  
  • CSCI 112 Communications Technology and the Internet (3)

    An introduction to digital communications technology. Topics include networking concepts, Internet and intranet tools, protocols, and security. Also included are the infrastructure and governance of the Internet, with emphasis on personal, business, social, legal, and ethical implications. Lectures three hours per week.
    Course Frequency: Occasional
  
  • CSCI 114 Electronic Publishing and Design (3)

    An investigation of electronic publishing, design theory and practice. Through the use of advanced application software skills, students will explore the tools of electronic communication, such as desktop publishing, website design, introductory graphics, and Internet resources. Lectures three hours per week.
    Course Frequency: Spring
  
  • CSCI 115 Website Design (3)

    A course that introduces the theory and the best current practices of Web page design, markup and presentation. Topics include the use of XHTML for information structure and CSS for presentation and style. The course will also cover HTML standards, XHTML forms, media types, layout and positioning, tables and lists and accessibility.
    Course Frequency: Fall and Spring
  
  • CSCI 120 Animation and Virtual Worlds (3)

    This course allows students to author on-screen movie animations and interactive games while learning the fundamentals of visual storytelling, lighting, and cameras using a 3D animation package. Students will learn to think algorithmically and abstractly while gaining an appreciation for the complexity of building software systems and a skill set for writing elegant code.
    Course Frequency: Fall
    Cross-listing: CITA 120  
  
  • CSCI 140 Graphic Design and Digital Media (3)

    A course introducing the creative side of computing in the context of applying graphic design principles in digital media. It emphasizes computer programming related to image processing. Students will produce raster and vector graphics, motion graphics, and interactive web applications while implementing the fundamental of graphic design.
    Course Frequency: Fall
    Cross-listing: CITA 140  
  
  • CSCI 180 Computers, Music and Art (3)

    A course introducing the creative side of computing in the context of music, sounds, images, and other digital artifacts. Emphasis will be given to computer programming for music making, live performance, and interaction. Students will develop several digital artifacts and elementary musical compositions.
    Course Frequency: Spring
    Cross-listing: CITA 180  
  
  • CSCI 199 Special Topics in Computing (3)

    A course focusing on selected topics from the beginning level of computer science. Such topics include basic networking concepts, scripting languages, and topical issues in computing. This course may be repeated for additional credit.
    Course Frequency: Occasional
    Repeatable: For up to 6 credit hours.
  
  • CSCI 215 Website Programming (3)

    A course teaching the design and development of interactive Web pages and client-side based Web programs using Rich Internet Applications (RIAs). Students will learn how to manage elements of a Web page using the Document Object Model (DOM), create and validate forms and communicate with Web servers using current Web technologies.
    Prerequisite(s): CSCI 115  or permission of the department chair
    Course Frequency: Fall and Spring
  
  • CSCI 218 Engineering Programming (3)

    Introduction to programming and problem solving using a high-level language appropriate to the engineering discipline. Topics include fundamental knowledge of basic programming concepts such as variables, control structures, I/O, memory, arrays, and basic data structures. 
    Prerequisite(s): CSCI 120  or CSCI 140  or CSCI 180  or CSCI 215  or MATH 105  or MATH 111  or higher math or permission of the department.
    Co-requisite(s): CSCI 218L  
    Course Frequency: Fall
  
  • CSCI 218L Engineering Programming Lab (1)

    This course is designed to apply the concepts being covered in CSCI 218 . The students will be able to enhance analyzing and problem solving skills by writing programs using a high-level programming language appropriate to the engineering discipline. Exercises will be assigned each week within a structured setting. Laboratory three hours per week. 
    Co-requisite(s): CSCI 218  
    Course Frequency: Fall
  
  • CSCI 220 Computer Programming I (3)

    An introduction to programming and problem solving. Topics include data types, variables, assignment, control structures (selection and iteration), lists, functions, classes, and an introduction to object-oriented programming. Lectures three hours per week.
    Prerequisite(s): CSCI 120  or CSCI 140  or CSCI 180  or CSCI 215  or MATH 105  or MATH 111  or higher math or permission of the department.
    Co-requisite(s): CSCI 220L  
    Course Frequency: Fall and Spring
  
  • CSCI 220L Programming I Laboratory (1)

    This course is designed to apply the concepts being covered in CSCI 220 . Exercises will be assigned each week within a structured setting. Laboratory three hours per week.
    Co-requisite(s) or Prerequisite(s): CSCI 220 .
    Course Frequency: Fall and Spring
  
  • CSCI 221 Computer Programming II (3)

    This course further develops object-oriented programming introduced in CSCI 220 . Topics include file input/output, inheritance and polymorphism, exceptions, error handling and algorithm analysis. Lectures three hours per week.
    Prerequisite(s): CSCI 220  with a grade of C- or better and CSCI 220L  with a grade of C- or better
    Co-requisite(s) or Prerequisite(s): MATH 207  
    Course Frequency: Fall and Spring
  
  • CSCI 230 Data Structures and Algorithms (3)

    This course reviews and develops the abstract data type as mathematical models. Data structures and algorithms are developed as the objects and operations of abstract data types. Topics include lists, stacks, queues, trees, graphs, searching, sorting, and analysis of the efficiency of algorithms. Lectures three hours per week.
    Prerequisite(s): CSCI 221  with a grade of C- or better and MATH 207 .
    Course Frequency: Fall and Spring
  
  • CSCI 250 Introduction to Computer Organization and Assembly Language Programming (3)

    An introduction to an assembly language and its implementation in hardware. Topics include the binary and hexadecimal numbering systems, the fetch-execute cycle, the components of the central processing unit, floating point processing, memory, the assembler, and the linker. Programming exercises are developed in the assembly language of a commonly available processor. Lectures three hours per week.
    Prerequisite(s): CSCI 220  with a grade of C- or better and CSCI 220L  with a grade of C- or better
    Co-requisite(s) or Prerequisite(s): MATH 207 .
    Course Frequency: Fall and Spring
  
  • CSCI 250L Microcontroller and Assembly Programming Lab (1)

    This course is designed to apply the material covered in CSCI 250 . Hands-on lab exercises will be assigned each week in a structured setting that enhance hardware-level programming concepts on a general purpose microcontroller (such as Arduino and Raspberry Pi). Laboratory three hours per week.
    Co-requisite(s): CSCI 250 
    Course Frequency: Fall and Spring
  
  • CSCI 280 Game Programming (3)

    A course introducing principles of game programming, including computer modeling, data visualization and animations, media transformations, and video game ethics. Students will be exposed to several game engines, a scripting language, and develop at least one game.
    Prerequisite(s): CSCI 120  or CSCI 140  or CSCI 180 , and CSCI 220  with a grade of C- or better, or permission of the instructor
    Course Frequency: Spring
    Cross-listing: CITA 280  
  
  • CSCI 281 Internship (1-4)

    A field internship in a non-academic setting. A faculty advisor will be appointed to award the grade to be received. Arrangements for the internship must be made prior to the semester in which it is carried out. One hour of credit will be awarded for each 45 contact hours completed.
    Prerequisite(s): Sophomore standing or above and at least a 2.500 GPA both overall and in the major and permission of the department chair.
    Course Frequency: Occasional
    Repeatable: For up to 4 credit hours.
  
  • CSCI 299 Special Topics in Computer Science (3)

    A course focusing on a selected topic from the intermediate level of computer science. Such topics include languages not otherwise taught in the computer science curriculum, software and hardware interfacing, system usage, and specific applications programs. This course may be repeated for additional credit.
    Prerequisite(s): CSCI 220  with a grade of C- or better and CSCI 220L  with a grade of C- or better
    Course Frequency: Occasional
    Repeatable: May be repeated for credit when course content varies.
  
  • CSCI 310 Advanced Algorithms (3)

    A course that covers algorithms, focusing on computational complexity, approximation, classification, and optimization. Algorithms covered include evolutionary and genetic algorithms, gradient descent techniques, discrete optimization, branch-and-bound, dynamic and stochastic programming, combinatorial optimization and approximation algorithms.
    Prerequisite(s): CSCI 230  with a grade of C- or better and MATH 207 .
    Course Frequency: Fall
  
  • CSCI 315 Server-Side Web Programming (3)

    This course focuses on service-side web development using current technologies. The course balances conceptual topics with practical skills for designing, implementing, and modeling web services and data structures. Students learn key technologies and the roles they play in distributed computing. Topics include: serialization, service-side databases, and security issues.
    Prerequisite(s): CSCI 221  with a grade of C- or better
    Course Frequency: Fall
  
  • CSCI 320 Programming Language Concepts (3)

    This course introduces the formal study of programming language specifications and develops an understanding of the structure and run-time organization of imperative programming languages. Topics include data types, control structures, functional programming, logic programming, procedure mechanisms, and data abstraction. Lectures three hours per week.
    Prerequisite(s): CSCI 230  with a grade of C- or better and MATH 207 .
    Course Frequency: Fall and Spring
  
  • CSCI 325 Functional and Logic Programming (3)

    This course introduces various approaches to declarative (non-procedural) programming languages. Topics include mathematical functions and the lambda calculus; functional programming; sentential and predicate logic; and logic programming. Lectures three hours per week.
    Prerequisite(s): CSCI 221  with a grade of C- or better and MATH 207  
    Course Frequency: Occasional
  
  • CSCI 332 Database Concepts (3)

    A course that introduces the student to the basic concepts, organization and implementation models of databases, with an emphasis on the relational model. Among the topics covered are data models, query languages, relational database design using normal forms and database programming, and information assurance and security. Problems will be assigned using a relational DBMS and SQL. Lectures three hours per week.
    Prerequisite(s): CSCI 221  with a grade of C- or better and MATH 207 .
    Course Frequency: Fall and Spring
  
  • CSCI 334 Data Mining (3)

    A course covering data mining concepts, methodologies, and programming. Topics include decision tables and trees, classification and association rules, clustering, pattern analysis, and linear and statistical modeling. Additional topics may include data cleaning and warehousing and techniques for text and web mining.
    Prerequisite(s): CSCI 221  with a grade of C- or better, MATH 207 , and MATH 250 .
    Course Frequency: Spring
  
  • CSCI 340 Operating Systems (3)

    The course will introduce operating systems principles with an emphasis on multiprogramming systems. Among the concept areas covered are real and virtual storage management, processor management, process synchronization and communication, IO management, and file management. Lectures three hours per week.
    Prerequisite(s): CSCI 230  with a grade of C- or better, CSCI 250  with a grade of C- or better, and MATH 207 .
    Course Frequency: Fall and Spring
  
  • CSCI 345 Computer and Network Security (3)

    Students will explore concepts of computer and network security. Topics include: penetration testing, secure software development, web application security, Information Assurance (IA) fundamentals, network defense, policy, legal, ethics and compliance, and cryptography.
    Prerequisite(s): CSCI 230  with a grade of C- or better, or permission of the instructor
    Course Frequency: Spring
  
  • CSCI 350 Digital Logic and Computer Organization (3)

    A course designed to introduce the student to the basic principles of digital-logic design. Topics covered will include Boolean algebra and gate networks, flip-flops and logic design, the arithmetic-logic unit, memory units, input-output devices and interfacing, control units, and digital circuits. Lectures three hours per week.
    Prerequisite(s): CSCI 250  with a grade of C- or better
    Co-requisite(s) or Prerequisite(s): MATH 307  
    Course Frequency: Spring
  
  • CSCI 360 Software Architecture and Design (3)

    This course covers the object-oriented analysis and design of software. Topics include the unified modeling-language, domain modeling, software architecture, design processes, principles, heuristics, and patterns. Student teams analyze, design, and implement a software system. Related ethical issues are explored. Lectures three hours per week.
    Prerequisite(s): CSCI 230  with a grade of C- or better
    Co-requisite(s) or Prerequisite(s): COMM 104  
    Course Frequency: Fall
  
  • CSCI 362 Software Engineering (3)

    This course examines the discipline and practice of software engineering, providing historical and contemporary views, while examining software development process models with emphasis on the pertinent roles, activities, and artifacts present at each stage of development. Related ethical issues are explored. Lectures three hours per week.
    Prerequisite(s): CSCI 230  with a grade of C- or better
    Course Frequency: Fall
  
  • CSCI 370 Mobile Application Development (3)

    The principles and tools involved in the design and construction of applications for mobile devices are covered. Topics include an overview of mobile application development, architecture and lifecycle, managing application resources, designing user interfaces, data storage options, integrating audio and video, location-based services, cross-platform development using a mobile device emulator, and porting applications to actual devices.
    Prerequisite(s): CSCI 230  with a grade of C- or better
    Course Frequency: Spring
  
  • CSCI 380 User Interface Development (3)

    Introduction to human-computer interaction and user interface development. Topics include human factors of interactive software, interactive styles, design principles and considerations, development methods and tools, interface quality, and evaluation methods. Stresses the importance of good interfaces and the relationship of user interface design to human-computer interaction. Lectures three hours per week.
    Prerequisite(s): CSCI 221  with a grade of C- or better
    Co-requisite(s) or Prerequisite(s): MATH 207  
    Course Frequency: Fall
  
  • CSCI 390 Special Topics in Computing (3)

    A moderately intense investigation of an area of current interest in computing. Lectures three hours per week.
    Prerequisite(s): CSCI 221  with a grade of C- or better and permission of the instructor
    Course Frequency: Occasional
    Repeatable: May be repeated for credit when course content varies.
  
  • CSCI 392 Seminar on Computing and Society (3)

    A seminar course to prepare majors for careers in CS by discussing and studying professional, ethical, legal, and social issues and responsibilities in computing. Local and global impact of computing on individuals, organizations, and society will also be addressed. Oral presentations and written work will be required.
    Prerequisite(s): CSCI 221  with a grade of C- or better
    Course Frequency: Fall and Spring
  
  • CSCI 397 Research Experience in Computer Science (0)

    A student works under faculty supervision to learn a research method, to explore possible research topics, or to continue an ongoing study. The faculty member helps the student to determine the course goals and objectives, and supervises the execution of the project. The student will provide a written report to the faculty at the end of the semester. Students will receive a grade of “S” (satisfactory) or “U” (unsatisfactory) for the course.
    Prerequisite(s): Only majors may take a Zero Credit Research course. Permission of the instructor and approval of the department chair.
    Course Frequency: Occasional
  
  • CSCI 399 Tutorial (3)

    Individual instruction given by a tutor in regularly scheduled meetings (usually once a week).
    Prerequisite(s): Junior standing plus permission of the tutor and the department chair.
    Course Frequency: Occasional
    Repeatable: For up to 12 credit hours.
  
  • CSCI 410 Automata and Formal Languages (3)

    Topics to include finite automata and regular expressions, pushdown automata and context-free grammars, the Chomsky hierarchy, Turing machines, undecidability and computational complexity. Lectures three hours per week.
    Prerequisite(s): MATH 307 .
    Course Frequency: Occasional
  
  • CSCI 420 Principles of Compiler Design (3)

    A course in the formal treatment of programming language translation and compiler design concepts. Topics include scanners, parsers, and translation. Lectures three hours per week.
    Prerequisite(s): CSCI 320  and MATH 307  
    Course Frequency: Occasional
  
  • CSCI 432 Concepts of Database Implementation (3)

    A course to study aspects of the implementation of some of the concepts from CSCI 332 . Topics include file organization on secondary storage devices, buffer management, B-trees, hash tables, join algorithms and query from an advanced standpoint: device management, physical database design, query processing, and optimization. Lectures three hours per week.
    Prerequisite(s): CSCI 332  and MATH 307 .
    Course Frequency: Occasional
  
  • CSCI 440 Computer Networks (3)

    An introduction to networking theory and practice. Topics include transmission media and modulation; error detection; protocols - particularly TCP/ IP; packet switching and circuit switching; physical, data link, network, transport, and application layers; LANs and WANs; network topologies; internetworking and the Internet; queuing theory and mathematical analysis of networks.
    Prerequisite(s): CSCI 340 , MATH 250 , and MATH 307 .
    Course Frequency: Occasional
  
  • CSCI 450 Architecture of Advanced Computer Systems (3)

    A course designed to introduce the student to the basic principles behind the architecture of high-speed computer systems. Topics to be covered include performance and cost measures for computer systems, memory-hierarchy design, pipeline techniques, vector processor architectures, and parallel algorithms. Lectures three hours per week.
    Prerequisite(s): CSCI 340  or CSCI 350 .
    Course Frequency: Occasional
  
  • CSCI 459 Service-Oriented Computing (3)

    This course explores both Service-Oriented Architecture (SOA) and Business Process Management (BPM) enterprise software layers. Students will learn how business and IT concerns can be aligned. Students gain experience with service-oriented software development, process modeling and execution, and securing services.
    Prerequisite(s): CSCI 221 , CSCI 230  or CSCI 315  
    Course Frequency: Spring
  
  • CSCI 462 Software Engineering Practicum (3)

    This course provides hands-on experience in the practice of group-based software development. Student teams utilize development tools and techniques to implement software solutions to moderately complex problems. This project-based component provides a framework in which students gain both understanding and insight into the application of software engineering principles. Lectures three hours per week.
    Prerequisite(s): Senior standing, COMM 104 , C- or better in: CSCI 362  or (CSCI 315  and CSCI 332 
    Course Frequency: Spring
  
  • CSCI 470 Principles of Artificial Intelligence (3)

    A course introducing fundamental techniques for artificial intelligence. Among topics covered are heuristic search, knowledge representation, intelligent agents, reasoning, neural networks, genetic algorithms, and artificial intelligence programming. Additional topics may include Bayesian networks, natural language processing, machine learning, rule-based systems, robotics, and data science.
    Prerequisite(s): CSCI 230  with a grade of C- or better
    Course Frequency: Spring
  
  • CSCI 480 Principles of Computer Graphics (3)

    An introduction to the fundamental principles of computer graphics. Among the topics covered are graphics hardware, 2-D graphics (including line and circle drawing, transformations, windows, viewports and clipping), 3-D perspective graphics, back-face removal, one or more hidden-surface graphics and simple light models. Lectures three hours per week.
    Prerequisite(s): CSCI 230  with a grade of C- or better and MATH 120  or MATH 105  
    Course Frequency: Spring
  
  • CSCI 481 Computer Vision (3)

    The objectives of this course are to introduce a number of fundamental concepts in computer vision, and guide students through a series of well-designed projects where they will get to implement a few interesting and cutting-edge computer vision algorithms. Topics include: image formation, edge detection, segmentation, feature detection, object recognition, and visual tracking.
    Prerequisite(s): MATH 203 , CSCI 230 ; or permission of the instructor
    Course Frequency: Occasional
  
  • CSCI 490 Special Topics (3)

    An intensive investigation of an area of current interest in computer science. Examples of special topics include: Image Processing; Systems Programming; Computability; Design Patterns. Lectures three hours per week.
    Prerequisite(s): CSCI 230  with a grade of C- or better, and permission of the instructor
    Course Frequency: Occasional
    Repeatable: May be repeated for credit when course content varies.
  
  • CSCI 499 Bachelor’s Essay (6)

    A year-long research and writing project done during the senior year under the close supervision of a tutor from the department. The student must take the initiative in seeking a tutor to help in both the design and the supervision of the project. A project proposal must be submitted in writing and approved by the department prior to registration for the course.
    Course Frequency: Occasional

Computing in the Arts

  
  • CITA 120 Animation and Virtual Worlds (3)

    This course allows students to author on-screen movie animations and interactive games while learning the fundamentals of visual storytelling, lighting, and cameras using a 3D animation package. Students will learn to think algorithmically and abstractly while gaining an appreciation for the complexity of building software systems and a skill set for writing elegant code.
    Course Frequency: Fall
    Cross-listing: CSCI 120  
  
  • CITA 140 Graphic Design and Digital Media (3)

    A course introducing the creative side of computing in the context of applying graphic design principles in digital media. It emphasizes computer programming related to image processing. Students will produce raster and vector graphics, motion graphics, and interactive web applications while implementing the fundamental of graphic design.
    Course Frequency: Fall
    Cross-listing: CSCI 140  
  
  • CITA 180 Computers, Music, and Art (3)

    A course introducing the creative side of computing in the context of music, sounds, images, and other digital artifacts. Emphasis will be given to computer programming for music making, live performance, and interaction. Students will develop several digital artifacts and elementary musical compositions.
    Course Frequency: Spring
    Cross-listing: CSCI 180  
  
  • CITA 280 Game Programming (3)

    A course introducing principles of game programming, including computer modeling, data visualization and animations, media transformations, and video game ethics. Students will be exposed to several game engines, a scripting language, and develop at least one game.
    Prerequisite(s): CITA 120  or CITA 140  or CITA 180 , CSCI 220  with a grade of C- or better, or permission of the instructor.
    Course Frequency: Spring
  
  • CITA 395 CITA Seminar (3)

    A seminar course to develop a proposal for the capstone project that synthesizes creativity in the arts with the tools and conceptual modeling systems of computing. Through readings, discussion, and writing, students will explore using computational tools/techniques to achieve an artistic vision, or develop new tools/techniques to assist the creative process.
    Prerequisite(s): Declared CITA major, CSCI 280 /CITA 280 , CSCI 221  with a grade of C- or better, 9 hours in concentration.
    Course Frequency: Fall and Spring
  
  • CITA 495 Capstone Practicum (3)

    A capstone course to provide a synthesizing experience for CITA majors across all concentrations. Students will read and analyze the latest research in the expanding field of computing in the arts, and will develop individual software projects integrating computing in the arts.
    Prerequisite(s): Senior standing, declared CITA major, CSCI 230  with a grade of C- or better, COMM 104 , CSCI 380 CITA 395 
    Course Frequency: Fall and Spring

Data Science

  
  • DATA 495 Data Science Capstone (3)

    A capstone course for the application of knowledge discovery and data mining tools and techniques to large data repositories or data streams. This project based course provides students with a framework in which students gain both understanding and insight into the application of knowledge discovery tools and principles on data within the student’s cognate area. This course is intended only for data science majors.
    Prerequisite(s): DATA 210   
    Co-requisite(s) or Prerequisite(s): CSCI 470  and MATH 441  
    Course Frequency: Spring

Engineering

  
  • ENGR 360 Electrical Instrumentation and Measurement (3)

    The course describes electronic measurement and instrumentation. It introduces concepts related to the use of sensing modalities and associated sensor technologies, and the interface electronics required for the collection and processing of data from them in relation to non-destructive testing (NDT) of materials. This course also provides hands-on experience for students in the use of sensor technologies such as ultrasound, eddy current sensing, and imaging, and data processing using standard commercial software tools.
    Prerequisite(s): CSCI 218 /CSCI 218L  and ENGR 310 /ENGR 310L  
    Course Frequency: Occasional
  
  • ENGR 386 Systems Engineering: Design and Development (3)

    This course provides students with an introduction to quantitative techniques that are relevant to systems engineering. Focuses on the use of quantitative techniques to model and evaluate design options. Scope includes: Analysis methods of system engineering design and management, system analysis, system command control, Analytical Problem-Solving and Solution Development Synthesis, system development, System Verification and Validation (V&V) Strategy, etc.
    Prerequisite(s): ENGR 200 CSCI 218 CSCI 218L MATH 250 , each with a grade of C- or better 
    Course Frequency: Fall
  
  • ENGR 400 Digital Design (3)

    This course introduces the modern design methodologies for digital logic and automatic synthesis of digital systems. Students are provided with access to the VHDL/Verilog and CAD tools to use hardware description language to model, analyze and design various digital circuits/systems. It is expected that the students will acquire a clear understanding of the main techniques, design strategies and the optimizations that are involved in modern digital circuit modeling, design and synthesis. VLSI design automation and testing.
    Prerequisite(s): PHYS 320 CSCI 250 /CSCI 250L  
    Course Frequency: Spring
  
  • ENGR 401 Communications and Autonomous Navigation (3)

    The course describes short- and long-range communication technologies used for autonomous navigation of vehicles, and coordination movement of ground, air and underwater vehicles. Short range discussions will cover data protocols, error correction, bandwidth and latencies used in Bluetooth, Zigbee and WiFi communication. Long range communications will primarily focus on 4G and 5G technologies. Vehicle formations will consider structured and ad-hoc communication network topologies and algorithms.
    Prerequisite(s): CSCI 250 /CSCI 250L PHYS 320  
    Co-requisite(s): ENGR 401L  
    Course Frequency: Spring
  
  • ENGR 410 Control Systems (3)

    Analysis and design of linear feedback systems; control components; time, frequency, and transform domain representations and design techniques; systems specifications, performance indices, evaluation and testing; controller and compensator design; complex frequency and state-variable techniques. Introduction to sampled-data systems. Computer-aided design and simulation.
    Prerequisite(s): CSCI 250 /CSCI 250L PHYS 272 PHYS 394 /PHYS 394L  
    Co-requisite(s): ENGR 410L  
    Course Frequency: Fall

Entrepreneurship

  
  • ENTR 320 New Venture Modeling (3)

    This course describes entrepreneurship as a process of economic or social value creation, rather than the single event of opening a business. Reflecting recent research, the course focuses on opportunity recognition, business model generation and lean startup. Students will research and develop a repeatable, scalable business model.
    Prerequisite(s): ENTR 200  or MKTG 302  or ARTM 325  or CSCI 215  or permission of the instructor
    Course Frequency: Fall and Spring

Mathematics

Before enrolling in a mathematics course, all entering students are required to take the ALEKS Math Placement Test, regardless of coursework completed at another institution or IB or AP credit earned. Entering students are encouraged to consult with their major academic advisor, the Academic Advising and Planning Center, or a member of the Department of Mathematics.

  
  • MATH 451 Linear Programming and Optimization (3)

    This course provides an introduction to deterministic models in operations research. Topics include linear programming, network analysis, dynamic programming, and game theory.
    Prerequisite(s): MATH 203 , MATH 221 , and CSCI 220  or MATH 245 , or permission of the instructor.
    Course Frequency: Fall
  
  • MATH 452 Operations Research (3)

    This course provides an introduction to probabilistic models in operations research. Topics include queueing theory, applications of Markov chains, simulation, integer programming and nonlinear programming.
    Prerequisite(s): MATH 203  and MATH 221 , and either CSCI 220  or MATH 245 .
    Course Frequency: Spring
  
  • MATH 470 Mathematical Modeling (3)

    An introduction to the theory and practice of building and studying mathematical models encountered in the physical, social, life, and management sciences. The course will discuss discrete, continuous, and probabilistic models. Topics may include iterated maps, population models, phase space analysis of dynamical systems, stability of solutions, bifurcations, chaos, random simulations, data analysis, Markov chains, game theory, graph theory, and voting theory.
    Prerequisite(s): MATH 203  and MATH 323 , and either MATH 246  or CSCI 220 , or permission of the instructor. MATH 430  is recommended.
    Course Frequency: Spring
  
  • MATH 475 Statistical Consulting (3)

    This course provides statistics students with the opportunity to apply statistical methods of data analysis to practical problems coming from actual clients, both students and professors from other disciplines as well as business and industry clients from the Charleston area.
    Prerequisite(s): MATH 350  and one of the following: MATH 440 , MATH 441 , MATH 451 , MATH 452 , or CSCI 334 .
    Course Frequency: Occasional