Senior Honors

Open to seniors with consent of the Department.

Fall semester. The Department.

How to handle overenrollment: null

Students who enroll in this course will likely encounter and be expected to engage in the following intellectual skills, modes of learning, and assessment: (none specified)

Special Topics

Independent reading course.

Fall and spring semesters. The Department.

How to handle overenrollment: null

Students who enroll in this course will likely encounter and be expected to engage in the following intellectual skills, modes of learning, and assessment: (none specified)

Sem: Evolutionary Comp

Evolutionary computation techniques harness the mechanisms of biological evolution, including mutation, recombination, and selection, to build software systems that solve difficult problems or shed light on the nature of evolutionary processes. In this course students will explore several evolutionary computation techniques and apply them to problems of their choosing. The technique of genetic programming, in which populations of executable programs evolve through natural selection, will be emphasized.

Computer Security

There is an ongoing arms race between hackers and defenders in the cyber world. This course introduces concepts of computer security including exploitation, diagnosis, and protection. Topics will range from program exploits like buffer overflow attacks and privilege escalation to analysis of recent real-world attacks to discussions about the ethics of hacking. We will also cover security protocols such as those for authentication (proving that you are who you say you are), password checking, and cryptography.

Compiler Design

An introduction to the principles of the design of compilers, which are translators that convert programs from a source language to a target language. Compilers typically take programs written in a general-purpose programming language, such as Java or C, and produce equivalent assembly language programs.

Algorithms

This course addresses the design and analysis of computer algorithms. Topics include: set algorithms such as sorting and searching, graph algorithms, string algorithms, and matrix algorithms. Algorithm design paradigms, including the divide-and-conquer, dynamic programming, and greedy paradigms, will be emphasized. The course will end with a discussion of the theory of NP-completeness and its implications.

Requisite: COSC 112 and COSC 211. Admission with consent of the instructor. Fall semester: Professor Rager.

How to handle overenrollment: null

Algorithms

This course addresses the design and analysis of computer algorithms. Topics include: set algorithms such as sorting and searching, graph algorithms, string algorithms, and matrix algorithms. Algorithm design paradigms, including the divide-and-conquer, dynamic programming, and greedy paradigms, will be emphasized. The course will end with a discussion of the theory of NP-completeness and its implications.

Requisite: COSC 112 and COSC 211. Admission with consent of the instructor. Fall semester: Professor Rager.

How to handle overenrollment: null

Subscribe to