On Thursday, May 3, Isaiah Sarju 2013 will discuss the nature, history, and theory of security vulnerabilities associated with dynamic code generation:
More specifically, the talk will deal with the underlying hacking techniques and security principles which have led to research into dynamic code generation: the history of memory vulnerabilities, the security mechanisms which are used to protect against these attacks, and the state of the art of bypassing these protections.
Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). The talk,
Dynamic code generation and what it takes to get there, will follow at 4:30 p.m. in Noyce 3821. Everyone is welcome to attend!
Grinnell's introductory courses introduce fundamental views of problem solving and different supporting programming languages. Upper-level courses fall into two main categories:
Core courses address fundamental topics that are recommended by national curricular guidelines. The Computer Science Major incorporates these core topics into mandated courses:
To address pragmatic issues of scheduling (e.g., students considering off-campus study), the major requires only one of CSC 211 or 213, one of 302 or 362, and one of 323 or 325. Both 211 and 213 are strongly recommended, and together these courses address content areas of the national curricular guidelines.
The Computer Science Department offers a range of electives to extend student backgrounds beyond the undergraduate core. In addition to regularly scheduled courses, special topics courses address particular interests of both students and faculty.
Some recently-offered electives have included artificial intelligence, computer networks, computer graphics, computational linguistics, and human-computer interfaces.
Complementing regular courses, students work with faculty on a wide range of guided reading courses, independent projects, and mentored advanced projects.