3156-1 - COMS W3156: Software Engineering, Fall 2001...

Info iconThis preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
COMS W3156: Software Engineering, Fall 2001 Lecture #1: The Smorgasboard Janak J Parekh janak@cs.columbia.edu
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software Engineering’s about software developers, right?
Background image of page 2
The power of * 1 Software Engineering is a course that deals with reality Accordingly, I’m going to pepper the course with real anecdotes (where * appears) If you don’t get them from class, you won’t get them at all (more on class participation later) 1 The * is actually a powerful concept in CS
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Who I am, or more importantly, how to call me Don’t call me Professor or Dr.* Parekh; my dad is that Janak is probably best, actually PhD student in the Computer Science department I’ve been doing Software Tools research for almost 5 years janak@cs.columbia.edu as per the first slide
Background image of page 4
What is Software Engineering? (I) Schach: “Software engineering is a discipline whose aim is the production of fault-free software, delivered on time and within budget, that satisfies the user’s needs.” From the bulletin: “Software management, requirements analysis, human factors, functional specification, software architecture, design methods, programming for reliability and maintainability, team programming, testing methods, and configuration management, with special topics as time permits.” So, what’s the point?
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
What is Software Engineering? (II) In Intro to CS and Data Structures, you learned the mechanics of programming, i.e. Java (or other) syntax, how to create data structures and store information in them, etc. Usually, however, the design of a program wasn’t the concern: you were given an assignment and told to implement it What if you weren’t given the design? What if no one knows what the assignment is ?
Background image of page 6
Intent of this class (I) Cover classic and modern software engineering practices Specifying, analyzing, designing, implementing, and testing software Examine the influence of OO and OO techniques on software design Learn about team practices and actually work in a team environment, simulating a real-world environment to a limited extent
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Intent of this class (II) Prepare you for the “higher” CS classes in the department Advanced Programming skills Languages (C, C++) Networking (basics, sockets) Concurrency (threads, mutexes, semaphores) etc. Design patterns Conceptual solutions to common design problems
Background image of page 8
Who should take this course? Students who have taken Data Structures and are
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 34

3156-1 - COMS W3156: Software Engineering, Fall 2001...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online