Module 1: Course Overview - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

Module 1: Course Overview

Description:

... finite state automata ... Using them to prove problems are unsolvable String searching/Pattern matching Algorithm design concepts such as recursion ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 9
Provided by: Eric1348
Learn more at: http://www.cse.msu.edu
Category:

less

Transcript and Presenter's Notes

Title: Module 1: Course Overview


1
Module 1 Course Overview
  • Course CSE 460
  • Instructor Dr. Eric Torng
  • TA To be determined

2
What is this course?
  • Philosophy of computing course
  • We take a step back to think about computing in
    broader terms
  • Science of computing course
  • We study fundamental ideas/results that shape the
    field of computer science
  • Applied computing course
  • We learn study a broad range of material with
    relevance to computing today

3
Philosophy
  • Phil. of life
  • What is the purpose of life?
  • What are we capable of accomplishing in life?
  • Are there limits to what we can do in life?
  • Why do we drive on parkways and park on
    driveways?
  • Phil. of computing
  • What is the purpose of programming?
  • What can we achieve through programming?
  • Are there limits to what we can do with programs?
  • Why dont debuggers actually debug programs?

4
Science
  • Physics
  • Study of fundamental physical laws and phenomenon
    like gravity and electricity
  • Engineering
  • Governed by physical laws
  • Our material
  • Study of fundamental computational laws and
    phenomenon like undecidability and universal
    computers
  • Programming
  • Governed by computational laws

5
Applied computing
  • Applications are not immediately obvious
  • In some cases, seeing the applicability of this
    material requires advanced abstraction skills
  • Every year, there are people who leave this
    course unable to see the applicability of the
    material
  • Others require more material in order to
    completely understand their application
  • for example, to understand how regular
    expressions and context-free grammars are applied
    to the design of compilers, you need to take a
    compilers course

6
Some applications
  • Important programming languages
  • regular expressions (perl)
  • finite state automata (used in hardware design)
  • context-free grammars
  • Proofs of program correctness
  • Subroutines
  • Using them to prove problems are unsolvable
  • String searching/Pattern matching
  • Algorithm design concepts such as recursion

7
Fundamental Theme
  • What are the capabilities and limitations of
    computers and computer programs?
  • What can we do with computers/programs?
  • Are there things we cannot do with
    computers/programs?

8
Studying the Theme
  • How do we prove something CAN be done by SOME
    program?
  • How do we prove something CANNOT be done by ANY
    program?
  • How would Scott Adams answer this question?
Write a Comment
User Comments (0)
About PowerShow.com