CSC 395 – Software Engineering Prof. Matthew Hertz WTC 207D / 888-2436 [email protected].

23
CSC 395 – Software Engineering Prof. Matthew Hertz WTC 207D / 888-2436 [email protected]
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of CSC 395 – Software Engineering Prof. Matthew Hertz WTC 207D / 888-2436 [email protected].

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

CSC 395 –Software Engineering

Prof. Matthew Hertz

WTC 207D / 888-2436

[email protected]

Page 2: 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

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

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

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

High-level Objectives

Have fun Learn skills needed for a successful computer

professional Improve via thorough understanding of

software development process

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

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

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

Expectations of Me

Lectures are prepared and organized Give interesting, thoughtful, & fun problems Be (reasonably) available to answer questions Be honest and forthright

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Course Grading

Midterm 25%

Final 30%

Papers 5%

Written Work 5%

Semester Project 35%

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

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

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

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

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

Group Meeting Attendance 7%

Programmer’s Notebook 16%

Presentation Performances 21%

Meeting Preparation 26%

Work Load 30%

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

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

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

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

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

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

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

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…

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

Course Website

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

Contains slides, announcements, other important information

Does not replace actually attending class

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

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