1 / 23

CSC 395 – Software Engineering

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

Sharon_Dale
Télécharger la présentation

CSC 395 – Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSC 395 –Software Engineering Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu

  2. 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

  3. 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

  4. High-level Objectives • Have fun • Learn skills needed for a successful computer professional • Improve via thorough understanding of software development process

  5. 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

  6. Expectations of Me • Lectures are prepared and organized • Give interesting, thoughtful, & fun problems • Be (reasonably) available to answer questions • Be honest and forthright

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. “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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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…

  21. Course Website http://cs.canisius.edu/~hertzm/csc395s07 • Contains slides, announcements, other important information • Does not replace actually attending class

  22. 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

More Related