Csc 395 software engineering
1 / 23

- PowerPoint PPT Presentation

  • Uploaded on

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

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

PowerPoint Slideshow about '' - 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 l.jpg

CSC 395 –Software Engineering

Prof. Matthew Hertz

WTC 207D / 888-2436

My background l.jpg
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 l.jpg
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 l.jpg
High-level Objectives

  • Have fun

  • Learn skills needed for a successful computer professional

  • Improve via thorough understanding of software development process

Warning l.jpg

  • 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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg

  • 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 l.jpg

  • 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 l.jpg
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 l.jpg
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 l.jpg


Know material

Few small mistakes


Good understanding of topic

Miss a few “boundary cases”


Know idea, fuzzy on details

Miss large number of boundary cases -or-

Solution is close, but not quite correct


Vague on idea, details are a blur

Only solves general case -or-

Solution usually incorrect -or-

Solution rarely crashes


Started day before its due

Solution rarely correct -or-

Crashes regularly -or-

Code cannot compile

Grading Rubric

Project grading l.jpg
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 l.jpg
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 l.jpg

  • 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 l.jpg

  • 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 l.jpg

  • 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 l.jpg
Course Website

  • Contains slides, announcements, other important information

  • Does not replace actually attending class

For next lecture l.jpg
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