CS-Computer Science Courses

Courses

CS 103. Introduction to Computation. 4 Hours.

An introduction to computation and computational thinking, explored through programming in Python. Python is a scripting programming language that encourages exploration and quick development. This course assumes no prior programming experience and is appropriate for students in any discipline, such as linguistics, biology, business, and art. The student will leave the course with the ability to write small, clear programs that solve interesting problems, and an appreciation of the power and beauty of computation. Strings, tuples, lists, dictionaries, comprehensions, branching, iteration, recursion, abstraction through functions, higher order programming. Principles of software development are emphasized, including specification, documentation, testing, debugging, exception handling. This course has a laboratory component.

CS 103L. Introduction to Computation Lab. 0 Hours.

Laboratory to accompany CS103.

CS 199. Special Topics in Computer Science. 1-3 Hour.

Selected topics in Computer Science. This course may or may not have a laboratory component or be taught online.

CS 199L. Special Topics Lab. 0 Hours.

Project oriented hands-on approach lab. Mandatory first day of attendance.

CS 203. Object-Oriented Programming. 4 Hours.

A second course in computational thinking, through the lens of object oriented programming. Fundamental concepts of object oriented programming and basic data structures. Types, classes, objects, inheritance, containers, OO software design, program structure and organization, reflection, generic programming. Lists, trees, stacks, queues, heaps, search trees, hash tables, graphs, complexity analysis. This course has a laboratory component.
Prerequisites: CS 103 [Min Grade: C] or CS 201 [Min Grade: C]

CS 203L. Object-Oriented Programming Lab. 0 Hours.

Laboratory to accompany CS203.

CS 222. Mobile Application Development. 3 Hours.

Introduction to application development for mobile devices including those built on Android, iOS and Windows Phone using a popular mobile application development platform such as Cordova. Covers unique requirements and constraints of mobile applications, foundations of mobile application development, syntax and semantics of web languages such as HTML, CSS and related frameworks, client side scripting including JavaScript and associated techniques such as jQuery and Ajax, principles for the design and evaluation of mobile user interfaces, storage and sensors. Lecture and laboratory.
Prerequisites: CS 103 [Min Grade: C]

CS 222L. Mobile Application Development Laboratory. 0 Hours.

Laboratory to accompany CS 222.

CS 239. Ethical Hacking. 1 Hour.

Introduction to basic concepts in ethical hacking. Survey of legal and ethical issues of hacking, common threats, vulnerabilities and attack vectors, concept of hacking, tools for hacking, compliance reporting, and certification. This course is not available for credit to students pursuing a major in Computer and Information Sciences.
Prerequisites: CS 103 [Min Grade: C]

CS 250. Discrete Structures. 3 Hours.

Discrete mathematics for computer science, including elementary propositional and predicate logic, sets, relations, functions, counting, elementary graph theory, proof techniques including proof by induction, proof by contradiction, and proof by construction.
Prerequisites: (CS 103 [Min Grade: C] or CS 201 [Min Grade: C]) and (MA 106 [Min Grade: C] or MA 107 [Min Grade: C] or MA 125 [Min Grade: C] or MA 126 [Min Grade: C] or MA 227 [Min Grade: C])

CS 303. Algorithms and Data Structures. 4 Hours.

Techniques for design and analysis of algorithms; efficient algorithms for sorting, searching, graphs, and string matching; and design techniques such as divide-and-conquer, recursive backtracking, dynamic programming, and greedy algorithms.
Prerequisites: CS 250 [Min Grade: C] and (CS 203 [Min Grade: C] or CS 302 [Min Grade: C])

CS 303L. Algorithms and Data Structures Laboratory. 0 Hours.

Project oriented hands-on approach to accompany CS 303.

CS 306. Programming in Perl. 1 Hour.

Basic syntax and data types, data structures, functions, scoping, regular expressions and pattern matching, libraries and modules, program composition, best practices.
Prerequisites: CS 203 [Min Grade: C] and CS 250 [Min Grade: C]

CS 309. Programming in Mathematica. 1 Hour.

Syntax, semantics and concepts of programming in Mathematica: expressions, lists, patterns and rules, functional programming, procedural programming, recursion, numeric, strings, graphics and visualization, dynamic expressions, optimization, and applications.
Prerequisites: CS 203 [Min Grade: C] and CS 250 [Min Grade: C]

CS 330. Computer Organization and Assembly Language Programming. 3 Hours.

Register-level architecture of modern digital computer systems, digital logic, machine-level representation of data, assembly-level machine organization, and alternative architectures. Laboratory emphasizes machine instruction execution, addressing techniques, program segmentation and linkage, macro definition and generation, and computer solution of problems in assembly language.
Prerequisites: CS 250 [Min Grade: C] and (CS 203 [Min Grade: C] or CS 302 [Min Grade: C])

CS 330L. Computer Organization and Assembly Language Programming Lab. 0 Hours.

Laboratory to accompany CS330.

CS 333. System Programming in C. 3 Hours.

Unix architecture and internals with an emphasis on Linux, shell scripting, distributions of Linux for various computing platforms including large and desktop computers, and embedded computing devices, introduction to the C programming language, system programming in C covering signals and process control, networking, I/O, concurrency and synchronization, memory allocation, threads, debugging, library development and usage.
Prerequisites: CS 250 [Min Grade: C] and (CS 203 [Min Grade: C] or CS 302 [Min Grade: C])

CS 334. Networking. 3 Hours.

Underlying network technology, including IEEE 802.11. Interconnecting networks using bridges and routers. IP addresses and datagram formats. Static and dynamic routing algorithms. Control messages. Subnet and supernet extensions. UDP and TCP. File transfer protocols. E-mail and the World Wide Web. Network address translation and firewalls. Mandatory weekly Linux-based lab.
Prerequisites: CS 250 [Min Grade: C] and (CS 203 [Min Grade: C] or CS 302 [Min Grade: C])

CS 334L. Networking Lab. 0 Hours.

Project oriented hands-on approach to accompany CS 334. Mandatory first day of class.

CS 350. Automata and Formal Languages. 3 Hours.

Finite-state automata and regular expressions, context-free grammars and pushdown automata, computability.
Prerequisites: CS 250 [Min Grade: C] and MA 125 [Min Grade: C] and (CS 203 [Min Grade: C] or CS 302 [Min Grade: C])

CS 355. Probability and Statistics in Computer Science. 3 Hours.

Introduction to probability and statistics with applications in computer science. Counting, permutations and combinations. Probability, conditional probability, Bayes theorem. Standard probability distributions. Measures of central tendency and dispersion. Central Limit Theorem. Hypothesis testing. Random number generation. Random algorithms. Estimating probabilities by simulation.
Prerequisites: CS 250 [Min Grade: C] and (CS 203 [Min Grade: C] or CS 302 [Min Grade: C])

CS 380. Scientific Computing. 3 Hours.

Scientific computing is the foundation of many key areas of computer science (e.g., machine learning, graphics, vision, cryptography) and of companies like Google. A main object of study in this course is the matrix, including matrix computation (matrix multiplication, null space, solution of linear systems, least squares) and applications (image filtering, face detection, compression). Other topics may include wavelets, root finding, quadrature, and Fourier transform.
Prerequisites: CS 203 [Min Grade: C] and CS 250 [Min Grade: C]

CS 391. Special Topics. 1-3 Hour.

Selected Topics in Computer Science.

CS 392. Special Topics. 1-3 Hour.

Selected Topics in Computer Science.

CS 398. Undergraduate Honors Research. 1-3 Hour.

Research project under supervision of faculty sponsor. Prerequisite: 18 semester hours in computer and information sciences with grade point average of 3.5 in computer and information sciences and permission of instructor.

CS 399. Directed Readings. 1-3 Hour.

Selected readings, research and project development under the direction of a faculty member. Permission of instructor.

CS 401. Programming Languages. 3 Hours.

Study major programming paradigms, their realization in programming languages, and their impact on application design and implementation.
Prerequisites: CS 303 [Min Grade: C] and CS 350 [Min Grade: C]

CS 401L. Programming Languages Laboratory. 0 Hours.

Laboratory to accompany CS401.

CS 402. Compiler Design. 3 Hours.

Study the design and implementation of compilers, including front-end (lexer, parser, type checking), to mid-end (intermediate representations, control-flow analysis, dataflow analysis, and optimizations) to back-end (code generation). Students will get hands-on experience by implementing several compiler components.
Prerequisites: CS 401 [Min Grade: C]

CS 410. Database Management Systems. 3 Hours.

Relational model of databases, structured query language, normalized structure of database management systems based on relational model, and security and integrity of databases.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 415. Multimedia Databases. 3 Hours.

Multimedia information processing, multimedia database architecture, multimedia database retrieval, semantic models for multimedia databases.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 416. Big Data Programming. 3 Hours.

Introduction to Big Data, Properties of Big Data, platforms, programming models, applications, business analytics programming, big data processing with Python, R, and SAS, MapReduce programming with Hadoop.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 417. Database Security. 3 Hours.

Database fundamentals, introduction to database security, overview of security models, access control models, covert channels and inference channels, MySQL security, Oracle security, Oracle label security, developing a database security plan, SQL server security, security of statistical databases, security and privacy issues of data mining, database applications security, SQL injection, defensive programming, database intrusion prevention, audit, fault tolerance and recovery, Hippocratic databases, XML security, network security, biometrics, cloud database security, big database security.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 419. Investigating Online Crimes. 3 Hours.

Introduction to cyber-investigative techniques involving network forensics, using automated methods to evaluate digital evidence from network packet captures, emails, server logs, and security event logs related to cyber crime cases. This course is not available for credit to students pursuing the MS and PhD Degree in Computer and Information Sciences.

CS 420. Software Engineering. 3 Hours.

Design and implementation of large-scale software systems, software development life cycle, software requirements and specifications, software design and implementation, verification and validation, project management and team-oriented software development. Lecture and laboratory.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 420L. Software Engineering Laboratory. 0 Hours.

Laboratory to accompany CS 420.

CS 421. Advanced Web Application Development. 3 Hours.

Introduction to web application design and development. Includes traditional web applications utilizing server-side scripting as well as client/server platforms. Covers responsive design for both mobile and desktop users, as well as hands on server provisioning and configuration. Other topics include web security problems and practices, authentication, database access, application deployment and Web API design, such as REpresentational State Transfer (REST).
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 421L. Advanced Web Application Development Laboratory. 0 Hours.

Laboratory to accompany CS 421.

CS 423. Network Security. 3 Hours.

Conventional network security (symmetric and public-key cryptography). Message encryption and authentication. Secure communication between computers in a hostile environment, including E-mail (PGP), virtual private networks (IPSec), remote access (SSH), and E-commerce (SSL), firewalls, intrusion detection and prevention, security of IEEE 802.11 wireless networks (WEP, WPA). Mandatory weekly Linux-based lab.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 423L. Network Security Laboratory. 0 Hours.

Laboratory to accompany CS423.

CS 425. Metrics and Performance. 3 Hours.

The theory and practice of metrics and performance. Querying theory and statistical analysis.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 426. Secure Software Development. 3 Hours.

Why and how software fails, characteristics of secure and resilient software, life cycle of secure software development, metrics and models for secure software maturity, design methodology, best practices for secure programming, secure software for mobile computing, cloud computing and embedded systems, methodology for testing and validation.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 430. Computer Architecture. 3 Hours.

Introduction to computer architecture, including memory subsystems, direct-mapped and set-associative cache and multi-level cache subsystems, direct- access devices including RAID and SCSI disk drives, processor pipelining including super-scalar and vector machines, parallel architectures including SMP, NUMA and distributed memory systems, Interrupt mechanisms, and future microprocessor design issues.
Prerequisites: CS 330 [Min Grade: C] and CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 431. Distributed Systems. 3 Hours.

Introduction to distributed systems, distributed hardware and software concepts, communication, processes, naming, synchronization, consistency and replication, fault tolerance, security, client/server computing, web technologies, enterprise technologies.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 432. Parallel Computing. 3 Hours.

Introduction to parallel computing architectures and programming paradigms. Theoretical and practical aspects of parallel programming and problem solving. Design, development, analysis, and evaluation of parallel algorithms.
Prerequisites: (CS 303 [Min Grade: C] and CS 330 [Min Grade: C]) and MA 125 [Min Grade: C]

CS 433. Operating Systems. 3 Hours.

Introduction to operating systems. This course looks at the internal design and operation of a modern operating system. Topics include interrupt handling, process scheduling, memory management, virtual memory, demand paging, file space allocation, file and directory management, file/user security and file access methods. Several comparisons among current operating systems are used, with attention to Windows and Unix in particular.
Prerequisites: CS 330 [Min Grade: C] and CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 433L. Operating Systems Laboratory. 0 Hours.

Laboratory to accompany CS 433.

CS 434. Virtualization. 3 Hours.

Theory and practice of virtualization. Origins, history, technical and economic motivations. Relationship to network operating systems and operating system architecture. Simulation, Emulation, Virtualization of CPUs, networks, storage, desktops, memory, devices, and combinations thereof. Different approaches to virtualization, including hardware assists and software-only techniques. Techniques, approaches, and methodologies for scale-out and scale-up computing, including security, performance and economic concerns.
Prerequisites: CS 433 [Min Grade: C] and CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 435. Network Programming. 3 Hours.

Remote procedure call and client-server mechanisms. Protocol definition and compilation; client and server stubs and application code; transport independence; multiple client and server systems. Applications, e.g., remote database query and update and image filtering and archiving; systems programming and file systems contexts.
Prerequisites: CS 334 [Min Grade: C] and CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 436. Computer Security. 3 Hours.

Study of the breadth of major computer security topics including cyber threats, malware, information assurance, authorization, applied cryptography, web security, mobile and wireless security, network security, systems/software security, database and storage security, user-centered security, and best security practices and countermeasures.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 437. Cybercrime and Forensics. 3 Hours.

A hands-on course covering all aspects of “media forensics” faced by Computer Forensics Examiners. Students will learn to analyze character encoding, file formats, and digital media, including hard drives and smartphones, as well as disk acquisition and duplication techniques and how to apply these techniques in typical criminal investigation scenarios.
Prerequisites: CS 303 [Min Grade: C] and CS 330 [Min Grade: C] and MA 125 [Min Grade: C]

CS 440. Bioinformatics I. 3 Hours.

Introduction to computational methodologies in bioinformatics.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 441. Bioinformatics II. 3 Hours.

Introduction to bioinformatics algorithms. This course is the second of a two-course sequence CS440/CS441 that is designed to provide an introduction to bioinformatics. This course will emphasize the implementation of fundamental bioinformatic algorithms. It is a programming course. Writing and oral presentations are integral parts of this course. Students are required to document their programs and provide oral presentations describing the design and implementation of global alignments, local alignments, the use of amino acid substitution matrices and BLAST.
Prerequisites: CS 440 [Min Grade: C]

CS 442. Mobile and Wireless Security. 3 Hours.

Mobile/wireless devices are ubiquitous, raising the potential for many cyber threats. This course examines security vulnerabilities inherent in many existing and emerging mobile and wireless systems, ranging from smartphones to wearables and RFID tags. In addition to exposing security vulnerabilities, defensive mechanisms to address these vulnerabilities drawn from existing deployments and research literature will be studied.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 443. Cloud Security. 3 Hours.

Definition of cloud computing, cloud computing models, privacy, authenticity and integrity of outsourced data, proof of data possession / retrievability, cloud forensics, malware analysis as a service, remote verification of capability and reliability, proof of availability, economic attacks on clouds and outsourced computing, virtual machine security, trusted computing technology and clouds, verifiable resource accounting, cloud-centric regulatory compliance issues and mechanisms, business and security risk models, secure MapReduce, applications of secure cloud computing, private information retrieval and cloud cartography.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 444. Network Forensics. 3 Hours.

This course covers concepts and methods involved in unraveling network intrusions, DDOS, and other untoward network behavior.
Prerequisites: CS 303 [Min Grade: C] and CS 336 [Min Grade: C] and MA 125 [Min Grade: C]

CS 445. Modern Cryptography. 3 Hours.

Theory and practices of modern cryptographic techniques, algorithms and protocols, including formal analysis. Secret key encryption algorithms, public key encryption algorithms, stream ciphers, one-way hashing algorithms, authentication and identification, digital signatures, signcryption, key establishment and management, secret sharing and data recovery, zero-knowledge proofs, public key infrastructures, efficient implementation, cryptanalytic attacks and countermeasures, security models, assumptions and proofs.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 446. Digital Currency. 3 Hours.

Fundamental principles of digital cash systems including Bitcoin, Ripple and other notable cryptocurrencies. Topics to be covered include how a cryptocurrency works, blockchain and other decentralized consensus protocols, proof of work, proof of stake, security and privacy of cryptocurrencies, cryptographic techniques for digital currency, and applications of blockchain in peer-to-peer trust establishment, smart contracts, digital asset management, financial exchanges and distributed autonomous organization.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 447. Biomedical Modeling. 3 Hours.

Modeling and analysis of biomedical datasets. Aspects of image processing and shape modeling related to biomedical datasets, morphometry, alignment, surgical planning, case studies.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 454. Malware Analysis. 3 Hours.

Hands-on course teaching static, dynamic and contextual analysis of malware. Malware analysis, and investigation is taught through interaction with both "classroom" and "wild" malware samples. Defensive and counter-measure techniques for both corporate and law enforcement environments are explored.
Prerequisites: CS 303 [Min Grade: C] and CS 330 [Min Grade: C] and MA 125 [Min Grade: C]

CS 456. Web Security. 3 Hours.

The web uses advanced applications that run on a large variety of browsers that may be built using programming languages such as JavaScript, AJAX, Google Web Toolkit and Apache Struts, to name a few. This course studies how core web technologies work, the common security vulnerabilities associated with them, and how to build secure web applications that are free from these vulnerabilities.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 457. Penetration Testing and Vulnerability Assessment. 3 Hours.

This course focuses on penetration testing and vulnerability analysis. It introduces methodologies, techniques and tools to analyze and identify vulnerabilities in stand-alone and networked applications. It also covers methodologies for legal and standards compliance.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 460. Artificial Intelligence. 3 Hours.

This course will provide an introduction to fundamental concepts in the field of artificial intelligence. Topics typically covered include agents, search, logic and knowledge representation, probabilistic models, machine learning, natural language processing and perception.
Prerequisites: CS 303 [Min Grade: C] and CS 350 [Min Grade: C]

CS 462. Natural Language Processing. 3 Hours.

This course provides a broad introduction to Natural Language Processing (Computational Linguistics). Topics typically covered in this course include part-of-speech tagging, syntactic parsing, semantic analysis, speech recognition, machine translation, sequence labeling algorithms, n-gram language models, statistical parsing, grammar formalisms and treebanks.
Prerequisites: (CS 303 [Min Grade: C] and CS 350 [Min Grade: C] and CS 355 [Min Grade: C]) or CS 460 [Min Grade: C]

CS 466. Games and Puzzles Seminar. 1 Hour.

Interfaces and Engines for games and puzzles such as Chess, Checkers, Othello, Rubik's Cube, Go, Sudoku, etc.
Prerequisites: CS 303 [Min Grade: C]

CS 467. Machine Learning. 3 Hours.

Introduction to machine learning, the design of algorithms that can make predictions about the future based on past experience. Emphasizes practical considerations for developing efficient and accurate machine learning models, and theoretical underpinnings of different learning algorithms.
Prerequisites: (CS 303 [Min Grade: C] and CS 355 [Min Grade: C] and MA 125 [Min Grade: C]) or CS 460 [Min Grade: C]

CS 469. Introduction to the Internet of Things. 3 Hours.

Definition of the Internet of Things (IoT), history, IoT components, device specifications and examples, architectures, protocols, applications, security and privacy issues, programming and development environments for IoT, interoperability, interfacing IoT devices via web and mobile applications.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 470. Computer Graphics. 3 Hours.

Graphics hardware, raster images, color, shading, ray casting, triangle meshes, coordinate frames, transformation matrices, perspective and orthographic viewing, rasterization, depth buffer, animation, quaternions, smooth curves (B-spline, Bezier) and surfaces, sampling, texture mapping, graphics programming.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 473. Computer Vision. 3 Hours.

Image smoothing and filtering, feature detection, segmentation, calibration and alignment, object recognition, morphology, projective geometry, scale space.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 474. 3D Printing. 3 Hours.

3D Printing : design, materials, and aesthetics. Students will do projects which result in unique artifacts created by 3D printing. Multi-disciplinary teams are encouraged. Societal and legal implications.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 475. Visualization. 3 Hours.

Advanced computer graphics techniques aimed at scientific visualization applications.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 482. Simulation Methodology. 3 Hours.

Foundations for computer modeling and simulation, with accent on discrete systems: random number and process generation; statistical bases with probability and frequency distribution orientation; Monte Carlo experiments and general purpose modeling.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 483. Open Source Security Systems. 3 Hours.

An introduction to the design, implementation, evaluation and maintenance of secure software systems and applications using open source technologies, with an emphasis on hands-on experience. Topics include: open source ecosystems, open source security methodologies and models, notable open source software systems and projects, quality and security assurance through open source, open source supply chain security, major open source cryptographic packages; designing, implementing and maintaining security systems using open source technologies; assessment and regulatory compliance using open source tools, and open source hardware.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 484. Robot Motion. 3 Hours.

Path planning algorithms. Configuration space, potential functions, roadmaps, cell decomposition, probabilistic motion planning, compliant motion.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 491. Special Topics. 3 Hours.

Special Topics in Computer Science.
Prerequisites: CS 303 [Min Grade: C] and MA 125 [Min Grade: C]

CS 492. Special Topics. 3 Hours.

Special Topics in Computer Science.

CS 496. Research Seminar. 1 Hour.

Participation in research seminar directed by a faculty member.

CS 497. Competitive Programming Techniques. 1 Hour.

This course will help students become more competitive in a programming competition such as the ACM programming contest by exploring numerous problem solving techniques and algorithms not covered in the traditional curriculum.
Prerequisites: CS 250 [Min Grade: C]

CS 498. Research Methods in Computer Science. 3 Hours.

This course is designed to provide future computer science teachers with the tools that computer science uses to develop new knowledge. Students will design, implement, and document independent research inquiry. Students will learn how scientists communicate through peer-reviewed publications and evaluate conflicting scientific claims. Work is closely coordinated with the work of students from other content disciplines so that students see the similarity and differences of research methods in their own field as compared with those of other science disciplines.
Prerequisites: EHS 126 [Min Grade: D]

CS 499. Senior Capstone. 3 Hours.

In this course, students will discuss topics relating to ethics in Computer Science. In a software engineering project, students will work in a team to put to practice principles and techniques that they have acquired throughout the undergraduate curriculum. A series of lectures on key topics in Computer Science given by faculty members and guest lecturers will round out the course. Students take the Major Field Test in Computer Science as a requirement for completing this course. Students should be CIS majors in their last semester of undergraduate study. Lecture and laboratory.
Prerequisites: CMST 101 [Min Grade: C] and PHL 115 [Min Grade: C]

CS 499L. Senior Capstone Laboratory. 0 Hours.

Laboratory to accompany CS 499.