CptS 121 Fall 09 Lecture 11 - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

CptS 121 Fall 09 Lecture 11

Description:

CptS 121 Fall 09 Lecture 1-1. Welcome to CptS 121 and WSU! Lecture ... 'Brute-force' algorithms. We simply don't know an algorithm that will solve some problems ... – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 27
Provided by: ChrisHun
Category:
Tags: cpts | brute | fall | lecture

less

Transcript and Presenter's Notes

Title: CptS 121 Fall 09 Lecture 11


1
CptS 121 Fall 09 Lecture 1-1
  • Welcome to CptS 121 and WSU!
  • Lecture Outline
  • Introduction to computer science
  • Introduction to this course

2
What is Computer Science?
  • Computer science is
  • the study of computers.
  • the study of computer programming.
  • the study of the uses and applications of
    computers and software.
  • None of the above.
  • The correct answer is...
  • d) None of the above!
  • Then what is it?

3
What is Computer Science (cont.)
  • Computer science is the study of algorithms
  • What is an algorithm?
  • Can anyone give me an example of an algorithm?

4
What is Computer Science (cont.)
  • What is an algorithm?
  • A sequence of instructions that solve a problem
  • Why are algorithms so important to computer
    science?
  • If we can specify an algorithm, we can automate
    the solution
  • A computing agent (human, robot, computer) can
    interpret and carry out the instructions to solve
    the problem

5
Can Algorithms Solve All Problems?
  • Some problems are unsolvable
  • No algorithmic solution exists
  • Some problems have no tractable solution, meaning
    no solution can be found in a reasonable amount
    of time
  • Brute-force algorithms
  • We simply dont know an algorithm that will solve
    some problems
  • Many artificial intelligence problems rely on
    heuristic search

6
Formal Definition of Algorithm
  • A well ordered collection. . .
  • Of unambiguous and effectively computable
    operations. . .
  • That produces a result. . .
  • And halts in a finite amount of time.

7
Is this an Algorithm?
  • Add flour until paste is sticky
  • Knead until firm
  • Roll thin and cut
  • Bake in a medium oven until light brown
  • Place on rack until cool
  • No! Why not?
  • Hint Are all operations unambiguous?

8
Is this an Algorithm?
  • Apply small amount of shampoo to hair
  • Work into scalp for about 1 minute
  • Rinse thoroughly
  • Repeat
  • No! Why not?
  • Hint Is it well ordered?

9
How are Algorithms Put Together?
  • Sequential instructions
  • do them in the order given
  • Conditional instructions
  • do them if a condition is true
  • Iterative instructions
  • do them while a condition is true

10
Your Try It
  • Describe an algorithm to find the seat in which
    the person named James Smith is sitting.

11
Formal Definition of Computer Science
  • Computer science is the study of algorithms,
    including
  • their formal and mathematical properties
  • their hardware realizations
  • their linguistic realizations
  • their applications
  • This course focuses on (c) and (d)

12
Discussion What do Computer Scientists Do?
vs.
13
Part II
  • Introduction to this Course

14
Syllabus and Schedule Available On-Line
  • http//eecs.wsu.edu/hundhaus/teaching/cpts121/

15
Instructor
  • Instructor
  • Chris Hundhausen
  • E-mail hundhaus_at_wsu.edu
  • Office EME 231
  • Phone 335-4590
  • Office hours Right after class and by appt.

16
Teaching Assistants
  • Jared Burns (Section 03 and 05)
  • E-mail burnsjm_at_wsu.edu
  • Office EME 28
  • Office Hours Mon. 2-4 Wed. 9-11
  • Richard Lee (Section 01 and 02)
  • E-mail srhyoh_at_gmail.com
  • Office EME 127
  • Office Hours Thurs. 1-3
  • Gocken Cilinger (Section 04)
  • E-mail gocken.cilinger_at_gmail.com
  • Office Sloan 322
  • Office Hours Thurs. 10-12

17
Lab Sections and Textbooks
  • Lab Sections (you should already be registered
    for one of these)
  • Fr 1210 1500 (01) Wed 1210 1500 (02)
    Wed 1510 1800 (03) Wed 1810 2100 (04)
    Thu 1210 1500 (Section 05)
  • Labs meet in 353 SLOAN
  • Note You will need to log in to the lab
    machines Your username is your first initial
    followed by the first seven letters of your last
    name
  • Textbook
  • J.R. Hanly E.B. Koffman (2010). Problem Solving
    Program Design in C (6th ed.). Menlo Park, CA
    Addison-Wesley.

18
Software
  • Web browser
  • for accessing course materials http//eecs.wsu.edu
    /hundhaus/teaching/cpts121
  • For accessing OSBLE (more in a minute)http//veu
    pl.eecs.wsu.edu/studio/
  • Microsoft Visual Studio .NET for C programming
    assignments (obtain through my.wsu.edu)

19
Learning Objectives
  • Realize that the field of computer science is
    about more than just programming, and appreciate
    its foundations in algorithmic problem solving
    and machine organization
  • Be able to write, understand, and debug programs
    that employ the basic constructs of modern
    computer languages, including variables, arrays,
    conditionals, iteration, and pointers and
  • Be able to take a specification of a problem of
    moderate complexity, and construct a structured,
    elegant C program that solves the problem and
  • Be able to understand, review, and provide
    constructive feedback on, computer code that is
    not your own

20
Learning Activities
  • Programming Assignments
  • Provide hands-on experience with programming
  • Lectures
  • Interactive style with lots of programming
    examples and some group problem solving
  • Labs
  • Work with partner on lab exercise in 3-hour
    closed lab setting with help of skilled TA
  • You receive credit for showing up and actively
    participating
  • On-line participation through OSBLE
    (http//veupl.eecs.wsu.edu/studio/)
  • Obtain course materials can also go to
    http//eecs.wsu.edu/hundhaus/teaching/cpts121/
  • Read announcements
  • Hand in programming assignments
  • Perform required online peer code reviews
  • Assess the helpfulness of the peer code reviews
    you receive and
  • Participate in online discussions of programming
    assignments

21
Grading
  • Programming assignments (30)
  • Eight individual C programming assignments (3-6
    each)
  • Online Code Reviews (10)
  • Will be assigned to small review teams of 4
    students
  • Will review team members code
  • Will provide feedback on reviews you receive
  • Quizzes (5)
  • Taken most weeks in Friday's lecture may drop
    lowest two scores
  • Labs (15)
  • Receive credit for attending and actively
    participating
  • Midterm exams (20)
  • Held on 9/25 and 11/6
  • Final exam (20)
  • Programming exam given in final lab (10)
  • Written exam given Tues., 12/14, 310-510 p.m.
    (10)
  • Emphasis on final five weeks
  • Research Participation (1 EASY extra credit)
  • Release coursework and course grades for research
    purposes
  • Help improve computer science instruction for
    future generations

22
Grading Scale
  • A 90 - 100
  • A- 88 89.99
  • B 85 87.99
  • B 80 84.99
  • B- 77 79.99
  • C 75 76.99
  • C 70 74.99
  • C- 67 69.99
  • D 65 - 66.99
  • D 60 64.99
  • D- 57 59.99
  • F 0 56.99

23
Key Policies
  • Lab attendance is mandatory, and lab attendance
    will be taken. You must attend a lab in order to
    get credit for it.
  • Keep up with the course by logging into OSBLE
    regularly (daily)
  • Correspond with instructor and TAs via e-mail
    using CptS 121 in subject line
  • Submit assignments through OSBLE must resubmit
    assignment after code review
  • Check on-line gradebook (set up by your TAs)
    regularly and inform TAs of any discrepancies
  • You have one week to challenge any grade
  • No exam makeups without (a) legitimate excuse AND
    (b) one week prior notice

24
Key Policies (cont.)
  • Late policy for assignments Up to two days late
    with penalty of 10 per day (weekend counts as
    one day)
  • Academic honesty
  • Lab assignments You are encouraged to work with
    a partner
  • Individual assignments You MUST work
    individually
  • Individuals caught collaborating on individual
    assignments will receive a 0 for the assignment
    and a verbal reprimand for the first violation,
    and an F for the course and referral to Director
    of College for the second violation
  • Dont Cheat!

25
How to Succeed in This Course
  • You will get out of this course what you put
    into it your destiny in this course is totally
    up to you. If you take an active role in your own
    learning, you will excel in this course, and have
    fun doing so If, on the other hand, you treat
    this course in the same way you treat television
    or video gamesas an information "delivery"
    systemyou are guaranteed not to get much out of
    the course, and your grade will suffer. It's up
    to you!
  • I sincerely hope that this course inspires you
    to get excited about computer science and
    programming.

26
Next Class
  • Mandatory programming pretest
  • Will count toward one quiz grade (all or nothing)
Write a Comment
User Comments (0)
About PowerShow.com