algorithms

Friday Extra: "Video analytics"

At noon on Friday, October 9, Dr. Harold Trease of the Pacific Northwest National Laboratory will speak on Video analytics for indexing, summarization and searching streaming video and video archives:

Given streaming video or video archives, how does one effectively summarize, classify, and search the information contained within such a large amount of image data? In this presentation, we address these issues by describing a process for the automated generation of a table of contents and of keyword, topic-based index tables that can be used to catalogue, summarize, and search large amounts of video data. Having the ability to index and search the information contained within the videos, beyond just metadata tags, provides a mechanism to extract and identify useful content. During this presentation, we describe some of the mathematics, computer science and engineering, and applications of being able to use image and video keywords as the primary search criteria, much as Web browsers (such as Google) allow us to search text today.

Dr. Trease is a graduate of the University of Nebraska at Kearney and received his doctorate from the University of Illinois at Urbana-Champaign, in nuclear engineering. He has more than thirty years of research experience in the design, implementation, and application of high-throughput, high-performance computer software. He currently leads the P3D Code Development Project. P3D is a large-scale framework for modeling, simulation, and prediction in computational physics.

Pizza and soda will be served before the talk. Everyone is welcome to attend!

This lecture serves as this week's CS Table.

Thursday Extra: "Interfaces for video analytics"

On Thursday, October 8, Alex Exarhos 2010 will present the results of his summer research on analyzing videos:

I worked with a set of video indexing and searching algorithms through a Department of Homeland Security internship. These algorithms are capable of quickly providing a summary of a video by breaking it up into sections based on the content, and this method of indexing makes it possible to instantly locate other images, frames, or video segments within the indexed library. I will also talk about the web services I created for these algorithms, and the work I did implementing a mobile interface for a Google Android phone.

Refreshments will be served at 4:15 p.m. in the Computer Science Commons (Noyce 3817). The talk, Interfaces for video analytics, will follow at 4:30 p.m. in Noyce 3821.

Upper-division courses and the computer science major

Collaborative student problem solving

Core Courses, Electives, and the Computer Science Major

Grinnell's introductory courses introduce fundamental views of problem solving and different supporting programming languages. Upper-level courses include several core courses and many elective courses. The major provides some flexibility to allow students to follow their personal interests and career goals.

Requirements for the CS Major

The Computer Science Major balances requirements in foundational areas with some flexibility.

  • Algorithms and theory
    • CSC 301, Analysis of Algorithms (fundamental problem-solving techniques, corresponding data structures, and analysis of efficiency)
    • CSC 341, Automata, Formal Languages, and Computational Complexity (the theory of computation— connecting with perspectives of the liberal arts)
  • "Systems" courses: (one required, both strongly recommended)
    • CSC 211, Computer Organization and Architecture (hardware basics)
    • CSC 213, Operating Systems and Parallel Algorithms (fundamentals of parallel computation)
  • Software development
    • CSC 324, Software Design and Development (software lifecycle, agile development methods, professional tools, and software design principles with application to a large-scale project for a local organization/client)
  • Electives (4 credits)
  • Supporting mathematics
    • CSC 208/MAT 208 Discrete Structures or MAT 218 Combinatorics (foundational mathematics used throughout computing)
    • Math elective to support specific student interests and goals

Students working on circuits lab for Computer Organization and Architecture

Computer Science Major to meet international curricular guidelines

Grinnell's regular Computer Science Major requires 32 credits of computer science and 8 credits in supporting mathematics. This level of background supports many student interests and career goals. However, students interested in careers in computing are advised that the following courses should be taken either as Electives for the Computer Science Major or as additional courses:

  • CSC 211 - Computer Organization and Architecture 4 credits
  • CSC 213 - Operating Systems and Parallel Algorithms 4 credits
  • CSC 214 - Computer and Network Security 2 credits
  • CSC 216 - Computer Networks 2 credits
  • CSC 312 - Programming Language Implementation 2 credits

With these selections, students cover the full range of recommendations recommended by Association for Computer Machinery (ACM), the Computer Society of the Institute of Electrical and Electronics Engineers (IEEE-CS). This extended major includes 32 credits of computer science and 8 credits in supporting mathematics and is identified by the professional societies as a curricular exemplar.


Electives, Mentored Advanced Projects (MAPs), Special Topics

Students discussing their project work

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 vision, computational linguistics, and evolutionary algorithms, and data visualization.

Complementing regular courses, students work with faculty on a wide range of guided reading courses, independent projects, and mentored advanced projects.


Syndicate content