Post on 18-Jan-2023
Instructor
Michael D. Grossberg
Office: 7/311
Office Hours: Wednesday 1:30-3:30 or by apt.
Lecture Time: Tuesday 6:50 - 9:20 PM
Location: NA/5123 or NAC 7/105 (LAB)
Wednesday, August 31, 2011
Grading
5-6 Homework Projects
Most HW problems for Teams of 2-3
You must to code in Python and use python CASE tools
2 midterms + final
Wednesday, August 31, 2011
TextbookNot in the bookstore but you must buy somewhere (amazon or elsewhere ... ebook ok too)
Software Engineering: Modern Approaches 2/e,
Eric J. Braude (Boston University ), Michael E. Bernstein(Boston University)
ISBN 978-0-471-69208-9
Wiley; 2 edition
Wednesday, August 31, 2011
PythonEasy Widely Used Programming Language
Very good software engineering tools
Good web programming support
www.python.org
python: Enthought Python Distribution (cool)
Avoid IDLE (it is flakey and not serious)
Wednesday, August 31, 2011
CASEComputer Assisted Software Engineering
Tools You Need To Use/Understand
Version Control: Mercurial == Hg
Unit/Integration/Functional Testing: Nose, Mock, Twill, Selenium, Lettuce
Continuous Integration: Hudson
Issue Tracking: Agilo/Trac
Wednesday, August 31, 2011
CASE ContinuedStatic Type Checker: Pylint
Virtual Environment: Virtualenv/Pip
Web Framework: Flask/Bottle
Build Tools: Scons/Make
Low-Fi Wireframe: Pencil/Inkscape
UML- DIA Diagram/Inkscape/ArgoUML
Documentation: Restructured Text/Sphinx
Wednesday, August 31, 2011
The Trouble StartedNATO Study Group on Computer Science 1968
Software becoming complex+large
over cost + time
need metrics and process
Software Engineering Needed
Wednesday, August 31, 2011
Top? Bugs
July 28, 1962 -- Mariner I space probe
1982 -- Soviet gas pipeline
1985-1987 -- Therac-25 medical accelerator
Wednesday, August 31, 2011
Top?Bugs (cont.)
1988 -- Buffer overflow in Berkeley Unix finger daemon
1988-1996 -- Kerberos Random Number Generator
January 15, 1990 -- AT&T Network Outage
Wednesday, August 31, 2011
Top?Bugs
1993 -- Intel Pentium floating point divide
1995/1996 -- The Ping of Death
June 4, 1996 -- Ariane 5 Flight 501
November 2000 -- National Cancer Institute, Panama City
Wednesday, August 31, 2011
Metrics to Track
Cost
Progress (Time)
Quality
Size/Complexity
Process Improvement
Wednesday, August 31, 2011
Read Chapters 1-2
1.9 Problem 2 (from wired 10) write 1-page in RestructuredText
1.9 Problem 8
2.7 Problem 5
Wednesday, August 31, 2011
Software Carpentry
Version Control start learning about SVN
Then learn HG: will use HG, get bitbucket account, put hw there, give me access
The Shell watch all but 1-3+9 critical
Python Intro,Basics, Control Flow, Lists
Wednesday, August 31, 2011
HW ProgrammingCheck a file into a repo bit bucket with the Gettysburg address, now change the file to have the contents of The New Colossus and push the change
Check in pervious exercises (on SE)
Do all the short problems http://software-carpentry.org/4_0/python/exercises
Check them into the same hw 1 repo
Wednesday, August 31, 2011