210 likes | 331 Vues
CSC 212, taught by Prof. Matthew Hertz, is designed to deepen your understanding of programming and data structures. This course emphasizes problem decomposition, algorithm development, coding in high-level languages, debugging, and effective data organization. Students will work on programming projects and presentations to master concepts and techniques. The interactive teaching style encourages collaboration and active participation, allowing an enriched learning environment. Prepare to engage with diverse materials and approaches to optimize your coding skills.
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.