Computer Science (COMP SCI)

Courses

COMP SCI 120. Web Programming. 3 Credits.

This course introduces the foundational concepts and tools for web programming required for developing interactive and visually engaging websites. It emphasizes the fundamental understanding of core web technologies: HTML for structuring content, CSS for styling and layout, and JavaScript for creating dynamic and interactive web pages, including current industry standards, processes, and techniques. Students will have the knowledge and skills to design, develop, and deploy static and interactive web pages, providing a strong foundation for further study in web development and programming.
FSS.

COMP SCI 121. Green Computing for Environmental Sustainability. 3 Credits.

Green Computing is a vital field focused on reducing the environmental impacts of computing technologies. This course introduces students to the principles and practices of sustainable computing, equipping them with skills to optimize energy efficiency, manage electronic waste, and promote responsible technology use. Through hands-on projects, students will explore renewable energy integration, analyze IT’s carbon footprint, and propose solutions to sustainability challenges. This course emphasizes the ethical, scientific, and policy-driven aspects of Green IT.
FSS.

COMP SCI 130. Computer Programming I. 3 Credits.

This course introduces the foundational principles of computer programming. Students learn to analyze problems, design appropriate solutions, and implement small-scale programs using a modern high-level programming language. The course emphasizes problem-solving techniques, program structure, and the development of clear, efficient, and well-documented code. Students will gain hands-on experience in writing, tracing, and debugging programs. They will be introduced to common programming concepts such as variables, data types, decision-making constructs, loops, functions, arrays, and basic data structures. Good software engineering practices—modular design, code readability, testing, debugging, and documentation—are stressed throughout the course.
FSS.

COMP SCI 140. Programming for Quantitative Problem Solving. 3 Credits.

Python is a versatile and widely used programming language that offers valuable skills and knowledge for students from various disciplines. This course introduces Python programming language to develop skills in computational problem-solving and critical quantitative reasoning across various contexts. Topics include fundamental programming concepts of Python programming, including variables, data types, control structures (loops and conditionals), basic data structures such as lists, dictionaries, and sets, procedural programming, object-oriented programming paradigms, debugging, and best practices for writing efficient and readable code. No prior programming experience is required. Through hands-on coding exercises and projects, students will work with numerical data, solve quantitative problems, and communicate insights supported by data analysis.
FSS.

COMP SCI 171. Technology, Ethics, and Society. 3 Credits.

This course provides a foundational understanding of ethics, cybersecurity, and cyberspace protection. By integrating knowledge across fields, students will learn to identify and address ethical and security challenges, including data privacy and cyber threats. Emphasis is placed on developing key skills such as locating, evaluating, managing, utilizing, and citing information appropriately. Students will be equipped to apply ethical reasoning and cybersecurity strategies to make informed, responsible technological decisions, regardless of their discipline.
FSS.

COMP SCI 181. Human-Centered Design. 3 Credits.

This course introduces the principles and practices of Human-Computer Interaction (HCI), focusing on designing interactive systems that enhance user experience. Students will explore how to design, evaluate, and implement user-centered interfaces based on usability principles and scientific methods. Students will gain practical skills in gathering user data, designing and developing effective interaction designs for diverse applications such as mobile interfaces, web systems, and augmented reality, conducting usability testing, and evaluating user experience. No prior design or programming experience is required.
FSS.

COMP SCI 191. Living and Learning with AI. 3 Credits.

Artificial Intelligence (AI) revolutionizes our work, learning, and interaction with technology. This course introduces students to modern AI systems' scientific principles, emphasizing generative AI and other recent developments. Through hands-on experimentation and systematic investigation, students will learn to evaluate AI capabilities, understand their limitations, and critically assess their impact across various domains. No technical background is required. The course aims to equip students with the knowledge and skills to engage critically with AI technology, evaluate its outputs, and understand the broader implications for society.
FSS.

COMP SCI 198. First Year Seminar. 3 Credits.

First Year Seminar, topics vary.
Reserved for New Incoming Freshman.

COMP SCI 201. Introduction to Computing & Internet Technologies. 3 Credits.

Introduction to the history of computing, overview of computers, how they work, and relevant applications, especially to web site creation. Introduction to procedural programming and an emphasis on ASP.NET using Microsoft Web Development tools part of the Microsoft Visual Studio.NET programming environment, the basics of HTML, CSS, and JavaScript. This course includes both lecture and lab.
Fall and Spring.

COMP SCI 203. Introduction to Python Programming. 3 Credits.

This course introduces the students to how to design, write and debug computer programs using python along with programming best practices and the fundamental techniques used in the development of software applications using python. Topics include data representation and storage using python data types and variables, control flow via conditionals and loops, complex data structures (e.g., lists, sets, dictionaries, and tuples) and error handling. Students will learn procedural programming using custom functions, standard libraries, modules and packages, and object-oriented programming paradigms using class, objects, methods, and attributes. This course includes both lecture and laboratory.
Fall and Spring.

COMP SCI 207. Programming in C. 3 Credits.

A technical course in computing, algorithms, data representations, and problem solving in the C programming language. This course provides a brief introduction to the syntax of computer programming, data types and structures, fundamental control structures, algorithms, standard libraries, pointers, and the construction of function/procedure. Opportunity for extensive experience in designing, developing, and testing structured programs in C language. This course includes both lecture and laboratory
Fall and Spring.

COMP SCI 221. Database Design & Management. 3 Credits.

This introductory course focuses on how databases and database systems work and how they are used in various data-driven applications. The course covers relational databases, SQL, different ways of designing databases, and management of databases. The course provides hands-on experience with exercises using modern database management systems such as SQL Server and/or MySQL and includes group discussions. The course also introduces some advanced topics, including database security, data privacy, data analytics, and big data. Working knowledge of Microsoft Office suite and Windows is required for this course.
P: COMP SCI 201 with at least a C grade
Fall Only.

COMP SCI 231. Introduction to IT Operations. 3 Credits.

This course covers the basic knowledge and skills needed to plan, design, control and monitor Information Technology services and infrastructure. Topics include the fundamentals of asset management, service provisioning, and functional operations. This course serves as an introduction to careers in the IT field.
P: COMP SCI 201 with a grade C or higher
Fall and Spring.

COMP SCI 240. Discrete Mathematics. 3 Credits.

Study of topics in mathematics that do not depend upon the limit process, including: number systems, set theory, logic, counting techniques, matrix manipulation, recursion, mathematical induction, graph theory, recurrence relations, and finite state machines. Techniques, computations, and data representations to facilitate problem-solving by hand and by computer.
P: MATH 202 with at least a C grade
Fall and Spring.

COMP SCI 251. Computer Systems Fundamentals. 3 Credits.

This course introduces the foundational principles of computer systems, focusing on how hardware and software collaborate to execute programs and manage data. Students will study data representation, number systems, digital logic design, and the basics of computer organization. Topics include signed and unsigned integer representation, floating-point number representation, Boolean algebra, combinational and sequential circuits, Karnaugh mapping, etc. Hands-on exercises provide practical experience in understanding low-level program execution and system-level operations. This course builds the foundation for further computer architecture and systems studies.
FSS.

COMP SCI 253. Digital Logic Fundamentals. 3 Credits.

The course introduces digital electronics, the operation of logic gates, the theory of combinational logic circuits, Karnaugh mapping, encoders, decoders, multiplexers, the theory of sequential circuits, flip flops, registers, and counters.
Fall and Spring.

COMP SCI 256. Introduction to Software Design. 3 Credits.

Students will learn a language common to software design and be introduced to software design techniques. This includes the problem statement, solution design, program testing, implementation, debugging, and final documentation.
P: COMP SCI 207 with a C or higher OR be a declared IS/ITADS major
Fall and Spring.

COMP SCI 292. Introduction to Mobile Platforms and Apps. 3 Credits.

An introduction and survey to the world of mobile computing. Each student will design, develop and produce their own app. Topics covered will include areas such as models of mobile information, GPS services, social networking, casual gaming, networked games, business apps, and information gathering -- all from the perspective of mobile platforms.
P: COMP SCI 201 and COMP SCI 256 with at least a C grade in both.
Fall Only.

COMP SCI 293. Cloud Computing. 3 Credits.

This course introduces students to the core concepts and practical methods in designing, deploying, and using cloud computing services. Technical topics of cloud computing systems will be emphasized includes cloud infrastructures, platform architectures, cloud security strategies, cloud storage and management, virtualization, and cloud programming frameworks. The course provides students with example cloud service providers and use cases along with deployment strategies and evaluation criteria for various types of application domains.
P: COMP SCI 203 with C or higher; COMP SCI 221 with C or higher
Spring.

COMP SCI 295. Special Topics. 1-3 Credits.

Computer Science Special Topics is designed to provide access to additional learning in the area of software engineering. Topics include Algorithmic complexity, No-SQL, professional software development frameworks/libraries and additional Computer Science principles. Course is repeatable if topics differ; may be taken 3 times for a total of 9 earned credits.

COMP SCI 297. Internship. 1-6 Credits.

Supervised practical experience in an organization or activity appropriate to a student's career and educational interests. Internships are supervised by faculty members and require periodic student/faculty meetings. Course is repeatable for credit; may be taken 3 times for a total of 6 credits.
P: Cumulative GPA of 2.0 or higher
Fall and Spring.

COMP SCI 298. Independent Study. 1-4 Credits.

Independent study is offered on an individual basis at the student's request and consists of a program of learning activities planned in consultation with a faculty member. A student wishing to study or conduct research in an area not represented in available scheduled courses should develop a preliminary proposal and seek the sponsorship of a faculty member. The student's advisor can direct him or her to instructors with appropriate interests. A written report or equivalent is required for evaluation, and a short title describing the program must be sent early inthe semester to the registrar for entry on the student's transcript.
P: fr or so st with cum gpa > or = 2.50; or jr or sr st with cum gpa > or = 2.00.
Fall and Spring.

COMP SCI 299. Travel Course. 1-6 Credits.

Travel courses are conducted to various parts of the world and are led by one or more faculty members. May be repeated to different locations.
P: cons of instr & prior trip arr & financial deposit.

COMP SCI 316. Advanced Software Design. 3 Credits.

A continuation of COMP SCI 256, this course deals with larger projects, more complex problems, and group work. It introduces linear data structures and their implementations. It also develops the object-oriented design paradigm to include inheritance and polymorphism. This course includes both lecture and lab.
P: COMP SCI 256 with at least a C grade
Fall and Spring.

COMP SCI 330. Computer Programming II. 3 Credits.

This course introduces advanced programming skills and focuses on the core concepts of object-oriented programming (OOP) and design using a modern high-level language. Object-oriented programming represents the integration of software components into a large-scale software architecture. Topics include core OOP concepts, including encapsulation, inheritance, polymorphism, abstraction, interfaces, memory management, exception, overriding, and overloading. Practical applications will focus on design patterns principles and designing, implementing, testing, and debugging OOP-based software systems.
P: COMP SCI 120 and COMP SCI 130 with at least a C grade
Fall and Spring.

COMP SCI 339. Web Programming. 3 Credits.

This is a continuation of COMP SCI 201 and COMP SCI 293. Students will learn advanced web application development. Various languages and frameworks for client-side and server-side programming will be used. Full stack web development by browser, server, and database programming.
Spring.

COMP SCI 340. Numerical Methods for Computer Science. 3 Credits.

This course will introduce different numerical methods that can be used in practical applications. Topics will include: Introduction to a numerical analysis software, solution of linear equations, nonlinear equations, approximation of differentiation and integration, solution of differential equations, data fitting, and optimization.
Fall Only.

COMP SCI 348. Computer Networks. 3 Credits.

This course provides a foundational understanding of network systems, architecture, and protocol and their role in enabling communication in wired and wireless environments. Topics include the design and operation of modern networks, including the layered networking model (OSI and TCP/IP), physical and data link layers, IP addressing, routing and switching algorithms, transmission signals and media, congestion control, and error detection methods and security protocols. This course will prepare students for advanced networking, cybersecurity, and distributed systems studies.
P: COMP SCI 120 and COMP SCI 130 with at least a C grade
Fall and Spring.

COMP SCI 351. Data Structures. 3 Credits.

Concepts involved in storage, retrieval, and processing data. Emphasis is on the design of software with complex data retrieval needs and on non-linear structures such as generalized lists, trees, and graphs. This course includes both lecture and lab.
P: COMP SCI 240 with a C or higher, and COMP SCI 316 with a C or higher
Fall and Spring.

COMP SCI 352. Computer Graphics and Animation. 3 Credits.

Basic techniques of computer graphics, such as point and line plotting, clipping and windowing using the OpenGL platform. Use of graphics hardware; construction of graphics packages. Basic animation techniques.
P: COMP SCI 240 with at least a C grade. REC: COMP SCI 371
Fall Odd.

COMP SCI 353. Computer Architecture and Organization. 3 Credits.

Historical development, instruction set architecture, assembly language, procedure call protocols, memory, cache, and bus organizations, comparison of processor architectures, I/O systems.
P: COMP SCI 253 with a C or higher.
Fall and Spring.

COMP SCI 357. Theory of Programming Languages. 3 Credits.

Comparison of several common languages and discussion of advantages and disadvantages of compiling and interpreting. Discussion of language design and syntax, data types, variables, constants, binding and scope of a variable and data handling procedure.
P: COMP SCI 316 with at least a C grade.
Fall Only.

COMP SCI 358. Data Communication and Computer Networks. 3 Credits.

Transmission media, analog and digital signals, modulation, compression, error detection methods, security and encryption protocols, Ethernet standards, TCP/IP protocols, routing algorithms, Internet and steraming applications.
P: COMP SCI 231 with at least a C grade, and COMP SCI 256 with at least a C grade
Spring.

COMP SCI 361. Information Assurance and Security. 3 Credits.

An exploration of the fundamentals of information assurance and security (IAS). The course will introduce the underlying concepts of IAS in context of today's society. It will explore the security & ethical issues in information and computing from the perspective of today's computing world. It will discuss the appropriate remedies and defense strategies in the wake of today's security threats and attacks. Class topics will focus on physical security, cyber security, network security and software security through lectures and hands on experiments. This course will be of interest to students, who wish to obtain an understanding of the basic principles and practices in IAS. It will cover the fundamental concepts in IAS necessary for understanding the threats to security as well as various defenses against those threats.
P: COMP SCI 358 with at least a C grade.
Fall Only.

COMP SCI 362. Artificial Intelligence & Data Science. 3 Credits.

This course introduces the foundational principles and techniques of Artificial Intelligence (AI) and Data Science (DS). Topics include data collection, cleaning, preprocessing, and visualization; essential data science methodologies (regression, classification, clustering, and artificial neural networks); problem-solving using search algorithms; knowledge representation, reasoning, machine learning basics, and natural language processing. Through hands-on projects, the course emphasizes real-world applications of AI in various domains with a broad overview of AI concepts and their practical use cases. Students will also explore the ethical implications of AI and gain practical experience implementing AI techniques.
P: MATH 320 and COMP SCI 351 with at least C grades in both
Fall Only.

COMP SCI 368. Compilers. 3 Credits.

The course introduces the theory and practice of compiler design. It covers the theoretical concepts of regular expressions and context-free grammar, scanning and parsing, semantic analysis, intermediate representations, and code generation, code transformation and optimization, and runtime systems.
Spring.

COMP SCI 371. Advanced Object-Oriented Design. 3 Credits.

Advanced object oriented design techniques in C++, including basic language elements (functions, controls, decision making etc), collection classes, class design and class relationships, class derivation, abstract classes, interfaces, static class members, object construction and destruction, inheritance and polymorphism. Additional topics also cover advanced C/C++ concepts such as pointers and pointer arithmetic, vectors, dynamic memory management, memory leaks, exception handling and operator overloading, templates and standard template library (STL). This course includes both lecture and lab.
P: COMP SCI 316 with at least a C grade.
Fall and Spring.

COMP SCI 372. Software Engineering. 3 Credits.

Design and programming techniques for large and complex data-driven projects, using C++. Design based on Design Patterns. Use of Software Engineering metrics and formal methodologies. Fundamentals of component-based software development and software deployment techniques.
P: COMP SCI 221 and COMP SCI 371 with at least a C grade for both
Spring.

COMP SCI 373. Cloud Computing. 3 Credits.

This course introduces students to the core concepts and practical methods of designing, deploying, and using cloud computing services. Technical topics of cloud computing systems will be emphasized, including cloud infrastructures, platform architectures, cloud security strategies, cloud storage and management, virtualization, and cloud programming frameworks. The course provides students with examples of cloud service providers, use cases, deployment strategies, and evaluation criteria for various application domains.
P: COMP SCI 330 and COMP SCI 348 with at least a C grade
Spring.

COMP SCI 392. Introduction to Mobile Computing. 3 Credits.

This course provides an introduction to the field of mobile computing, exploring the fundamental concepts, technologies, and applications that enable the use of mobile devices in modern computing environments. Students will learn about mobile systems' architecture and design principles, including hardware and software components, wireless networks, mobile operating systems, and application development. The course emphasizes hands-on experience with mobile application design, development, and deployment across various platforms such as Android and iOS. Additionally, the course will cover topics such as security, performance optimization, and mobile data management. By the end of the course, students will have the foundational knowledge necessary to develop mobile applications and understand the key challenges and trends in the mobile computing landscape.
P: COMP SCI 330 with at least a C grade
Fall Only.

COMP SCI 421. Parallel & Distributed Computing. 3 Credits.

An introduction to parallel and distributed computing using Python. Topics include synchronous and asynchronous programming, parallelism, distributed applications with Celery, and Python applications in cloud environments and HPC clusters. Students will gain practical experience developing, testing, and debugging distributed applications for scalable computing.
P: COMP SCI 351 and COMP SCI 353 with at least C grades
Spring.

COMP SCI 450. Theory of Algorithms. 3 Credits.

Design, analysis and comparison of algorithms; divide and conquer techniques, greedy method, dynamic programming and smart searching. Applications to optimization with constraints and decision problems. Theory of computability including examples of NP-complete problems such as the "traveling salesman" problem.
P: COMP SCI 351 with at least a C grade, and MATH 202 with at least a C grade
Spring.

COMP SCI 451. Database Systems and Big Data Processing. 3 Credits.

This course covers advanced relational database concepts, data warehousing, and distributed database management systems. It introduces students to unstructured data and NoSQL databases and discusses the basics of real-time storage and processing of massive datasets using Hadoop ecosystems. The course includes hands-on exercises with Hadoop ecosystem and SQL Server.
P: COMP SCI 221 with at least a C grade
Spring.

COMP SCI 452. Operating Systems Using Linux. 3 Credits.

Methods and philosophies behind management of computing resources, including: memory management, process management, scheduling, process signaling, process synchronization, mutual exclusion; interprocess communication, introduction to the Linux Operating System and environment, shell scripting, C programming, process management, and message passing.
P: COMP SCI 207 with at least a C grade, and COMP SCI 351 with at least a C grade
Spring.

COMP SCI 464. Artificial Intelligence. 3 Credits.

Introductions to the fundamental types of Artificial Intelligence (AI) and their practical applications, Problem Solving by Searching, Adversarial Search, Constraint Satisfaction Problem, Neural Networks, Machine Learning, Decision Trees, Computer Vision, Reinforcement Learning, Implications of the use of AI.
P: COMP SCI 203 with at least a C grade, COMP SCI 351 with at least a C grade, and MATH 320 with at least a C grade
Fall Only.

COMP SCI 465. Machine Learning. 3 Credits.

This course introduces the fundamental principles and practical applications of machine learning, a field that enables computers to learn patterns from data and make decisions or predictions. Students will explore key topics such as supervised and unsupervised learning, model evaluation, and advanced techniques like ensemble methods and neural networks. Practical assignments and projects will provide hands-on experience using machine learning libraries like Scikit-learn, TensorFlow, and PyTorch. By the end of the course, students will be equipped to build machine learning models, understand current research, and address real-world challenges across various domains.
P: COMP SCI 362 with at least a C grade
Spring.

COMP SCI 466. Deep Learning. 3 Credits.

This course provides a comprehensive introduction to deep learning, a subfield of machine learning that uses artificial neural networks to learn complex, hierarchical feature representations from raw data. Deep learning has revolutionized various fields, including computer vision, audio analysis, natural language processing, and decision-making, with applications ranging from speech recognition to autonomous driving. Students will explore the foundational principles, mathematical concepts, and practical implementations of deep learning. Topics include optimization techniques like gradient descent and backpropagation, essential components such as convolutional and pooling layers, and widely used architectures like convolutional and recurrent neural networks. Hands-on programming assignments will familiarize students with deep learning frameworks such as TensorFlow, PyTorch, or Keras and prepare them to build and train neural network models. A final project will allow students to apply their skills to real-world problems of personal interest. By the end of the course, students will be equipped to tackle AI tasks, understand current research, and pursue advanced studies or careers in deep learning, a field that is increasingly essential in both academia and industry.
P: COMP SCI 362 with at least a C grade
Fall Only.

COMP SCI 468. Computer Vision. 3 Credits.

This course provides a comprehensive introduction to computer vision, focusing on enabling machines to interpret and analyze visual information from the world. Students will explore the foundational principles, mathematical underpinnings, and cutting-edge techniques used in computer vision systems. Topics include image processing, feature extraction, object recognition, and advanced Deep Learning methods for vision tasks. Through hands-on programming assignments and projects, students will build practical skills to design, implement, and optimize computer vision applications. By the end of the course, students will be prepared to tackle real-world challenges in fields such as autonomous systems, medical imaging, and augmented reality. Hands-on programming assignments will familiarize students with Deep Learning frameworks such as TensorFlow, PyTorch, or Keras and prepare them to build and train neural network models. A final project will allow students to apply their skills to real-world problems of personal interest.
P: COMP SCI 362 with at least a C grade
Fall Only.

COMP SCI 470. Natural Language Processing. 3 Credits.

This course provides an in-depth introduction to Natural Language Processing (NLP), the field of computer science focused on enabling machines to process and analyze human language. Students will explore rule-based and statistical methods for understanding text, speech, and language. Topics include text preprocessing, tokenization, language modeling, syntax, semantics, and advanced deep learning techniques such as transformers. Practical assignments and projects will provide hands-on experience with tools and libraries like NLTK, SpaCy, and Hugging Face. By the end of the course, students will be equipped to develop applications such as chatbots, sentiment analysis systems, and machine translation models.
P: COMP SCI 362 with at least a C grade
Spring.

COMP SCI 471. Software Security. 3 Credits.

While different types of software play a major role in providing security, they are also a major source of security problems. Thus, the demand for secure and dependable software systems is acute due to the increasing use of cyber-physical systems. This course will introduce the students with the foundations of software security, important software vulnerabilities and attack vectors that exploit them. The list of topics will includes software bugs, flaws, and vulnerabilities, attack patterns, attack vectors, threat modelling, software design security, operating system security, privilege escalation problem, common software vulnerabilities (e.g., buffer overflow, shellshock, format string), OWASP top 10, SQL injection attack, cross site scripting (XSS), code-review and secure coding practices.
Spring.

COMP SCI 472. Network Security. 3 Credits.

The goal of this course is to provide a technical introduction to data networks and network security. The Key concepts and technologies in data networks will be introduced, including layered architectures and topologies. The main elements in information technology networks will be detailed, including routers, switches, gateways, servers, workstations and storage devices. It will be followed by an introduction to network level attacks and various defense mechanisms. Students will learn to mount attacks and defend against them using a variety of software tools, monitoring tools and protocols. Finally, different network security topics will be covered, including encryption, authentication, firewalls and intrusion detection, security management tools and threat scenarios, security policies, legal and ethical issues in cyber and computer crimes.
Fall Only.

COMP SCI 473. Digital Forensics. 3 Credits.

This course examines the fundamentals of digital forensics, computer crimes, and the challenges of computer forensics. The course addresses a technical overview of tools, techniques, and methods used to perform computer forensics and investigation. Different incident and intrusion responses, emerging technologies, and future directions of digital forensics are presented with various implementation considerations.
P: COMP SCI 361 with at least a C grade or higher
Fall Only.

COMP SCI 474. Game Engines. 3 Credits.

This course provides students with an introduction to the theory and practice of video game programming. Students will participate in individual hands-on lab exercises, and also work together like a real game development team to design and build their own functional game using an existing game engine (e.g. Unity, Ogre).
P: COMP SCI 256 with at least a C grade.
Spring Odd.

COMP SCI 475. Introduction to Cryptography. 3 Credits.

This course introduces students to the underlying principles and mathematical foundations of cryptography. The course provides a brief introduction to classical and modern cryptography approaches includes symmetric and a symmetric cryptography, encryption, message authentication, hashing and public-key cryptography. Students will learn about cryptographic protocols and their applications to computer security.
Spring.

COMP SCI 476. Ethical Hacking. 3 Credits.

This course offers the basic knowledge of the landscape, key terms, and concepts that a security professional needs to know about hackers and computer criminals who break into networks, steal information, and corrupt data. The course addresses a technical overview of hacking: how attackers target cyber resources and the methodologies they follow. Different methods are most effective when dealing with hacking attacks, especially in an age of increased reliance on distributed devices, and are presented with various implementation considerations.
P: COMP SCI 361 with at least a C grade
Spring.

COMP SCI 478. Honors in the Major. 3 Credits.

Honors in the Major is designed to recognize student excellence within interdisciplinary and disciplinary academic programs.
P: min 3.50 all cses req for major and min gpa 3.75 all UL cses req for major.
Fall and Spring.

COMP SCI 490. Capstone in Computer Science. 3 Credits.

This senior-level course provides a culminating experience in which students apply their acquired skills and knowledge across the computer science curriculum to design and implement a substantial project (e.g., software/security/AI). Preferably, they will work in teams to solve a real-world problem. The course focuses on aspects like project planning, development, documentation, and presentation while fostering a deep understanding of the subject matter and its practical applications and demonstrating proficiency in various technical and communication skills.
P: Must complete at least two (upper-level) electives with a C grade or higher
Fall Only.

COMP SCI 495. Teaching Assistantship. 1-6 Credits.

The student and supervising teacher must prepare a statement that identifies the course with which the assistantship will happen, objectives for the assistantship, and expectations in order to fulfill the course objectives. Students are not eligible to receive credit in both the course they assist the instructor with and the teaching assistantship in the same semester. Typically student has previously taken the course prior to enrollment in the assistantship. Course is repeatable for credit.

COMP SCI 496. Project/Research Assistantship. 1-6 Credits.

The student must prepare a research proposal, and both parties should identify the research arrangement and how the student will complete the work to fulfill the course objectives within the assigned term.
P: jr st.

COMP SCI 497. Internship. 3 Credits.

Supervised practical experience in an organization or activity appropriate to a student's career and educational interests. Internships are supervised by faculty members and require periodic student/faculty meetings.
P: jr st.
Fall Only.

COMP SCI 498. Independent Study. 1-4 Credits.

Independent study is offered on an individual basis at the student's request and consists of a program of learning activities planned in consultation with a faculty member. A student wishing to study or conduct research in an area not represented in available scheduled courses should develop a preliminary proposal and seek the sponsorship of a faculty member. The student's advisor can direct him or her to instructors with appropriate interests. A written report or equivalent is required for evaluation, and a short title describing the program must be sent early in the semester to the registrar for entry on the student's transcript. Course is repeatable for credit.
P: fr or so st with cum gpa > or = 2.50; or jr or sr st with cum gpa > or = 2.00.
Fall and Spring.

COMP SCI 499. Travel Course. 1-6 Credits.

Travel courses are conducted to various parts of the world and are led by one or more faculty members. May be repeated to different locations.
P: cons of instr & prior trip arr & financial deposit.