210 likes | 326 Views
CSC 212 – Data Structures. Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu. Objectives Met in CSC212. Design computational solutions Decompose a problem into logically grouped subprograms Develop and analyze algorithms Program well Code in a high-level language
E N D
CSC 212 –Data Structures Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu
Objectives Met in CSC212 • Design computational solutions • Decompose a problem into logically grouped subprograms • Develop and analyze algorithms • Program well • Code in a high-level language • Debug a program • Write and use a test plan • Document a program • Work independently • Organize data for effective use • Use fundamental data structures • Implement data structures • Understand the role of computing and the computer professional • Present or explain ideas • Weigh different solutions and explain or argue why one was preferable
High-level Objectives • Become excellent coders via deeper understanding of programming process • Develop algorithmic “toolbox” of solutions • Have fun
Expectations of Me • Lectures are prepared and organized • Environment where all students can learn • Give interesting and thoughtful problems • Be (reasonably) available to answer questions • Be honest and forthright
Teaching Style • Interested in reasoning over answer • Will not face the same question again • Answer meaningless if just a lucky guess • Mastery means being able to explain how & why • Participation is vital • Cannot help until I know where you are having trouble • Keep all students active and involved
Teaching Methodology • Adult Learning • Students read material before class • (Short) lecture explains key topics & ideas • Provides 1st opportunity answer questions • Keeps class moving and interesting • Students work in teams to solve problems • Develop deeper understanding of material • (Nearly) Penalty-free chance to make mistakes
Expectations of You • Work hard • Come to class prepared • Be polite and a good teammate • Ask for help early and often • Let me know what you are thinking
Attendance • Attendance is mandatory • You are responsible for every class • Missing class is not acceptable excuse • Best way to earn a poor grade: skip class
Deadlines • Work must be submitted by time it is due • Late work will not be accepted • Make-ups will not be given • Talk to me as soon as you know making a deadline will be difficult • Talking to me sooner improves chance we can work something out
Attack of Real Life • When life happens… • Get a note from the Dean • Be prepared to show documentation • Talk to me as soon as you can • We will find a workable solution
Course Grading • Midterms given on Oct. 2nd and Nov. 20th • Final covers entire semester • ~6 programming projects during semester
Course Grading Goals • Lots of opportunities to learn and improve • Present material in variety of ways • Develop thorough understanding expected in later classes • Catch and correct problems early • I am mean & like watching students suffer
“A” Know material Few small mistakes “B” Good understanding of topic Miss a few “boundary cases” “C” Know idea, fuzzy on details Miss large number of boundary cases -or- Solution is close, but not quite correct “D” Vague on idea, details are a blur Only solves general case -or- Solution usually incorrect -or- Solution rarely crashes “F” Started day before its due Solution rarely correct -or- Crashes regularly -or- Code cannot compile Grading Rubric
Learning Styles • People have different ways in which they best take in and process information • Important for each student to discover what is best for them • Will try presenting material visually, verbally, written, and kinetically • Let me know what works for you • Let me know what DOESN’T work for you
Collaboration • Fellow students are a great resource • Different styles of learning yields multiple levels of understanding • Get together, discuss material, and study • Answer lingering questions you have • Clarify what a problem is asking • (Most of you) take many classes together, may as well start interacting
Collaboration • Work you submit must be done by you • If discussing homework or projects • Leave conversation with memories only • Wait at least 15 minutes before writing anything • Never seen 2 people submit similar solutions when they actually wait • When in doubt, ask me
Textbook • Michael Goodrich and Roberto Tamassia:Data Structures and Algorithms in Java, 4th edition, Wiley, 2006. • Available at bookstore • CSC 212 covers half of the book • Remainder covered in CSC213
Course Website http://cs.canisius.edu/~hertzm/csc212f06 • Contains slides, announcements, other important information • Does not replace actually attending class
Personal Information Sheet Name: Matthew Hertz Year: 2nd year Major: Computer Science Previous Computer Experience: B in CS1 at MBHS I am in this course because: Enjoy helping novice coders and seeing them develop and grow I chose Canisius because… Wanted a school which values teaching & had students with whom I could work.