230 likes | 493 Views
CSC 395 – Software Engineering. Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu. My Background. Contracted to write software for 2-d FTIR ChemIcon 9/1994 – 6/1995 Windows Software Development Marathon Multimedia 10/1996 – 6/1997
E N D
CSC 395 –Software Engineering Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu
My Background • Contracted to write software for 2-d FTIRChemIcon 9/1994 – 6/1995 • Windows Software DevelopmentMarathon Multimedia 10/1996 – 6/1997 • Analyst, Continuous Improvement Team Accenture 6/1997-12/1997 • Software Engineer & Firmware DeveloperViA Computers 1/1998 - 8/1999 • Contracted to rewrite web-based problem trackerGuardian Info 9/2003 - 1/2005
Objectives Met in CSC395 • Design computational solutions • Specify, design, implement, and test a program of at least 1000 lines • Design and implement a simple GUI • Decompose a problem into logically grouped subprograms • Use design tools such as Visio, UML, etc. • Program well • Debug a program • Document a program • Write and use a test plan • Maintain a program across entire software lifecycle • Organize data for effective use • Use fundamental data structures • Understand the role of computing and the computer professional • Present or explain ideas both in writing and verbally • Weigh different solutions and explain or argue why one was preferable • Learn new technologies on your own • Meeting minimum standards for professionalism and decorum • Know ethical & legal issues and responsibilities in computing • Understand the social impact of computers • Work in teams
High-level Objectives • Have fun • Learn skills needed for a successful computer professional • Improve via thorough understanding of software development process
Warning • Class is A LOT OF WORK • Is a sort-of capstone for the major • One class that focuses on real world • Can resemble a “Death March” if not kept up • Cannot do much about the amount of material • Very important to learn & understand • Skills require practice and repetition • Try keeping things fun & interesting
Expectations of Me • Lectures are prepared and organized • Give interesting, thoughtful, & fun problems • Be (reasonably) available to answer questions • Be honest and forthright
Teaching Style • Value reasoning over an answer • Class is about learning processes not facts • HIGHLY unlikely will face identical question again • Mastery means being able to explain how & why • Class participation is vital • Lectures get stale and boring very quickly • Need you to talk so I can clear up questions
Adult Learning Methodology • Students read material before class • Begin class with opportunity to ask questions • Lecture explains key topics & ideas • Too much material to lecture on everything • Provides 2nd opportunity to see material • Try limiting number of long, boring lectures • When possible, end class with problems • Gives you chance to see if you really understand • Not really graded, so mistakes are not penalized
Expectations of You • Work hard • Conduct yourself as a professional • Ask for help whenever you need it • Let me know what you are thinking • Will adapt methods if it would help students learn • Cannot change before I understand problem
Professional Conduct • Class about how things done in real world • Your behavior should reflect real-world focus • Happily, we are looking at tech industry • Be aware of what you say and how you act • Teasing and jokes can still cause hurt feelings • Some topics always off-limits in workplace • Be thoughtful and reasonable • Semester project stresses everyone • I do not want to have to act as referee
Attendance • Jobs usually start with 2 weeks vacation • Semester is ~½ year, so get 1 week vacation • Can miss up to 3 lectures & 2 group meetings • Further unexcused absences result in one-step grade reduction • Missed group meetings also get you “fired” • Attendance is still mandatory • If you must miss a class, talk to me ahead of time • You are responsible for every class
Deadlines • Companies usually consider on-time bids only • Now will just shut webpage down at deadline • Cannot submit if 1 week, 1 hour, or 1 second late • Submit work by time it is due • Late work will not be accepted • But talk to me if you know you cannot make a deadline
Attack of Real Life • When life happens… • May need to get a note from the Dean • Be prepared to show documentation • Talk to me when you can • Do not let this stop you from talking to me • We will find fair & workable solution
Course Grading • Students must receive 50% on semester project & average of midterm score and final score • Midterm given on Mar. 9th • Final covers entire semester • Several papers will be due over course of semester • Written work includes in-class work, quizzes, & homeworks
“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
Project Grading • Group gets one grade for semester project • Students earn multiplier to compute their project grade • Scores for each of these comes from personal observations, peer evaluations, and meeting reports • Details on each of these as we move forward
Learning Styles • People have different ways in which they best take in and process information • Important for students to discover what is best for them • Will try presenting material in variety of styles • Let me know what works for you • Let me know what DOESN’T work for you
Collaboration • Fellow students are excellent resource • Different styles of learning yields multiple levels of understanding • Encourages to get together and discuss material • Answer any lingering questions each student has • Clarify what homework problems require • By this point, you should know most people in class
Collaboration • Work you submit must be done by only you • When discussing homework: • Leave conversation with memories only • Wait >15 minutes before starting on your own • Should not review others work once it is in progress • When in doubt, ask me first
Textbook • Stephen R. Schach, Object-Oriented & Classical Software Engineering, 7th ed., McGraw-Hill, 2007. • Available at bookstore • Will cover most of the textbook • Also using number of handouts & websites • Book is most interesting & useful I found • Read it anyway…
Course Website http://cs.canisius.edu/~hertzm/csc395s07 • Contains slides, announcements, other important information • Does not replace actually attending class
For Next Lecture • Read Knuth’s Art of Programming • Speech given when he received Turing Award • Think about whether you think CSC should be considered an art or a science • Homework for Friday: Write 2 – 3 paragraphs convincing me of your opinion