csc 395 software engineering
Download
Skip this Video
Download Presentation
CSC 395 – Software Engineering

Loading in 2 Seconds...

play fullscreen
1 / 23

CSC 395 - PowerPoint PPT Presentation


  • 193 Views
  • Uploaded on

CSC 395 – Software Engineering. Prof. Matthew Hertz WTC 207D / 888-2436 [email protected] My Background. Contracted to write software for 2-d FTIR ChemIcon 9/1994 – 6/1995 Windows Software Development Marathon Multimedia 10/1996 – 6/1997

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CSC 395 ' - Sharon_Dale


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
csc 395 software engineering

CSC 395 –Software Engineering

Prof. Matthew Hertz

WTC 207D / 888-2436

[email protected]

my background
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
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
High-level Objectives
  • Have fun
  • Learn skills needed for a successful computer professional
  • Improve via thorough understanding of software development process
warning
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
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
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
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
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
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
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
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
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
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
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

Grading Rubric
project grading
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
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
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
collaboration20
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
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
Course Website

http://cs.canisius.edu/~hertzm/csc395s07

  • Contains slides, announcements, other important information
  • Does not replace actually attending class
for next lecture
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
ad