Download presentation
Presentation is loading. Please wait.
Published byRodney Barrett Modified over 9 years ago
1
CSC 212 – DATA STRUCTURES Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu
2
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
3
High-level Objectives Become programmers, not just “code monkeys” Develop solutions from scratch on your own Be able to explain what your solutions is Select the fastest algorithm for your solution Use common real-world development techniques Develop algorithmic “toolbox” of solutions Have fun
4
Expectations of Me Lectures prepared and organized Assign real problems that are interesting & fun Be (reasonably) available to answer questions Be honest and forthright
5
Teaching Style Reasoning more important than answer Rarely asked same question again Lucky guesses are not meaningful Explaining how & why demonstrates mastery Class participation is vital Need to understand problem to adjust approach
6
Adult Learning Students read material before class Answer any initial questions at start of class (Short) lecture explains key ideas Provides 2 nd opportunity to see material Limits long, boring droning Students work in teams to solve problems Make sure you actually understand material Make mistakes when easy to correct
7
Expectations of You Work hard Come to class prepared Be a good teammate Ask for help early and often Let me know what you are thinking
8
Attendance Attendance is mandatory Talk to me when you know you must miss a meeting You are responsible for every class Missing class is never acceptable excuse Best way to earn a poor grade: skip class
9
Deadlines Have 2 virtual “extensions” Each used to get 1 day extension on assignment Can use multiple extensions on 1 assignment Late work not accepted without extension If you know you cannot make a deadline, talk to me Earlier we talk, the better we can find a solution
10
Attack of the Real-World
11
Attack of Real Life When life happens… May need to ask you to get a note from the Dean Be prepared to show documentation Talk to me when you can Will work to find fair & equitable solution
12
Course Grading Midterms32% Final25% Projects24% Weekly Assignments7% Daily Activity6% Program Portfolio10% Grades available via Angel Midterms given on Oct. 3 rd & Nov. 10 th 4 programming projects during semester
13
Course Grading Goals Build skills used by “real” programmers Lots of opportunities to learn & improve Present material in variety of ways Develop understanding needed for later classes Catch and correct problems early I am mean & like watching students suffer
14
Weekly Assignments Posted on web/Angel each week Due by 5PM following Tuesday of following week Virtual extensions can be used on these Before submitting, can ask questions throughout day Several goals for these assignments Provides additional programming opportunities Reinforce the material from the past week Practice programming & debugging skills from lab Questions may seem suggestive at times Used to prepare for labs & programming assignments
15
Programmer’s Notebook Take notes on readings’ important details Course webpage contains helpful templates to use Notes written by you so easy to understand (Don’t care where you get information from) Use notebooks during labs & tests Can also use book during test (but it won’t help much)
17
Slide Changes My slides had been decent set of notes Key points & most details included, often in color Provided a good overview of what was said Students stopped taking notes on their own Writing increases odds of remembering ideas Really, really bad idea to not take any notes Trapped me into specific way of lecturing Limited opportunities to use clever memory tools Lectures often resembled
18
Students During Lecture
19
Slide Changes Slides contain more pictures, less text Makes lectures more interesting & fund New ways to reinforce lessons discussed Proper presentation techniques used Will be poor substitute for actual notes Print slide handout & take notes on the side These notes (& my slides) usable in quizzes & final Everybody wins, except these guys…
20
Traditional Lectures
21
Grading Rubric “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
22
Learning Styles Different ways in which people learn best Important to discover what works for you Present visually, verbally, written, & kinetically Let me know what works & DOESN’T work for you
23
Collaboration Fellow students are a great resource Provides multiple viewpoints & understandings Get together, discuss material, and study Can have them answer lingering questions Clarify a problem and what it is asking Will overlap in classes, so may as well start interacting
24
Collaboration Work you submit must be done by you When discussing homework or projects Leave conversation with memories only Wait >15 minutes before starting on your own Solutions always unique after waiting Once started, each student should work alone When in doubt, ask me
25
Coding Help Will work on testing & debugging To get debugging help in CSC212 Method(s) must be commented (javadoc) Must use a trace or similar to look for bug Normally, students find their own solution this way Also gives us starting point to work from Helps you learn to fix your own errors
26
Textbook Goodrich & Tamassia, Data Structures and Algorithms in Java, 4 th Edition, Wiley, 2006. Available at bookstore & online Will cover about 50% of the textbook CSC213 looks at other half of the book
27
Course Website Webpage for this course found on Angel Contains handouts, lecture slides, homeworks, announcements, etc. Good place to check for information May not include everything said in class
28
For Next Lecture There is lab tomorrow Be ready to start working Bring CSC111 & CSC212 textbooks, if possible Mourn summer’s end & start of homework Read first section of the book Start reviewing Java language basics
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.