DOC PREVIEW
CORNELL CS 211 - CS 211 Lecture Notes

This preview shows page 1-2-3-25-26-27 out of 27 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS211 Computers and Programming http://www.cs.cornell.edu/courses/cs211/2004sp/CS211 Computers and Programming Lectures and sectionsCS211 Objectives Learn about:CS212GradesJava bootcampAssignmentsAbout me and my expectationsThe manila folder conceptInvariantOrder of topicsAbout Gries.About programmingSlide 14Development of a loop: The problemDevelopment of a loop: the invariantDevelopment of a loop: initDevelopment of a loop: loop condition, progress toward terminationDevelopment of a loop: the repetendSlide 20Final loopFinal loop without annotationPowerPoint PresentationDesign of larger programs important, tooQuestions concerning the 8-puzzleMath behind the 8-puzzleGraphsCS211 Computers and Programminghttp://www.cs.cornell.edu/courses/cs211/2004sp/Instructor: David Gries, Olin 167 [email protected], [email protected] coordinator: Stacey Shirk, Upson 403 [email protected]: Each TA leads 1 or 2 recitation sections. Your TA is your main contact for the course; get to know TA well.Consultants: in Upson 304Office hours: to be announcedNews Group: Use frequently. Learn about it in section.Education is one of the few things a person is willing to pay for and not get. William Lowe BryanCS211 Computers and ProgrammingLectures and sectionsLecture: Tues, Thurs. 10:05AM. Attendance expected.Lecture notes online. Print them before the lecture and bring them to lecture.Readings posted online, with lecture notes.Sign up for one section. Attendance expected: sections may teach new material.It’s okay to switch sections; no permission needed.But end up sticking with one section.CS211 ObjectivesLearn about:•Concepts in modern programming languages:–recursion, induction–classes, objects, inheritance, interfaces•Efficiency of programs•Correctness issues; and testing/debugging•Data structures: arrays, lists, stacks, queues, priority queues,trees, binary search trees, hash tables, graphs•Software engineering. How to design, organize, test, debug, maintain large programs.•Practice in writing/testing/debugging programsNOT A COURSE SIMPLY ON JAVA PROGRAMMINGCS212• one-credit project course.• one lecture per week.• substantial design and programming.• required for CS majors.• take with or after CS211. Taking 211-212 together advised.AEW Workshop• one-credit S/U course.• meets once per week for 2 hours.• grade depends solely on attendance.• students work together in a cooperative learning environment.GradesFollowing are weights for parts of course. Subject to change:• Assignments: 39%• Exercises: 3%• Quizzes: 4%• Prelim 1: 13%• Prelim 2: 15%• Final exam: 25%• Course evaluation: 1%Generally, grades come out 1/3 A’s, 1/3 B’s, 1/3 C’s, but everyone can get an A if they do A work. Exams are most important factor.Java bootcampYou are expected to know what CS100 teaches about Java:• classes, objects, how we draw them.• instance methods & variables, static methods & variables,• subclasses, inheritance, overriding of methods• apparent and real class-types of a variable.Java bootcamp will go over these things:• Olin 155, 7:30—10:30, Tuesday, 27 JanuaryAssignments•Assignments done in teams of 1 or 2 students•You need not keep the same partner for every semester•See the website for academic integrity statementExercises•Pencil and paper things.•Do exercises alone — not partners allowed.•In lecture. Will tell you precisely what they will cover.•Given to let you know what I think is important and should be learned immediately.•Everyone is expected to get 100/100 on them.QuizzesAbout me and my expectationsCS100J last semester, people either liked me or hated me:I definitely appreciate Gries’s method of developing our knowledge from the foundations. Helped me, as a beginner.An excellent instructor!Gries was brilliant.0102030405avMy effectiveness19304856143.1My willing to help06163356443.7Get rid of Gries.Gries should change his teaching methods.Worst course I have had.The manila folder conceptI think the whole manila folder concept was brilliant. It definitely helped me understand the material better.The folder analogy was very helpful for understanding all the OO concepts we learned.The filing cabinet / manila folder concept made it easy to grasp the class / object relationship.File/folder analogy for class/objects was pretty poor.Manila folders bear no relation to actual programming. Stupid.File/folder analogy screws everything up.InvariantAnalysis of the invariant and its relation to a loop [was most helpful for my learning].Idea of invariant was hard to grasp, but when I did get it, everything came together! [the use of invariants] inhibited my natural programming ability.Invariants are evil.Worst part of course; failed to see their importance.Order of topicsIt was good to be exposed to the fundamental structure of Java early on …Gries is probably right in teaching main concepts first before getting into loops …Should be more focused on logic and algorithms [not OO].Don’t start with OO; write a simple “Hello World” program.About Gries.Teaching computer science since 1966.Main area of research: programming methodology, the formal development of programs, calculational logic.Cornell Weiss Fellow, awarded for contributions to undergraduate teaching.Several international awards for contributions to computer science education.Currently, 1/2 time Associate Dean for Undergraduate Programs (Engineering College).I really am interested in teaching and care about you. I am here to serve. I am approachable and am willing to talk with any of you at almost any time, within my schedule constraints.About programmingKline: More than anything, mathematics is method.That applies to programming even more than mathematics.Research has developed a formal methodology of program-ming, which, if practiced consciously, can lead to more effective programming and clearer programs, with fewer bugs.We try to teach you some of that methodology in a practical, informal way. But it requires you to change you thinking habits, your way of thinking about the programming process.Mark Twain: Nothing needs changing so much as the habits of others.About programmingTwo ways you can proceed:(1) Hack away, and don’t think about good programming practices. Just program in your “natural way”. Consequence, spend a lot of time testing/debugging and still end up with a buggy program.(2) Learn to think in an organized, mathematical,


View Full Document

CORNELL CS 211 - CS 211 Lecture Notes

Documents in this Course
B-Trees

B-Trees

10 pages

Hashing

Hashing

3 pages

Load more
Download CS 211 Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view CS 211 Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view CS 211 Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?