Foundations of Software Engineering 和 Software Engineering Concepts
Course Description
This is a foundation subject in modernsoftware development techniques for engineering and information technology. The design and development of component-based software (using C# and .NET) is covered; data structures and algorithms for modeling, analysis, and visualization;basic problem-solving techniques; web services; and the management and maintenance of software. Includes a treatment of topics such assorting and searching algorithms; and numerical simulation techniques. Foundation for in-depth exploration of image processing, computational geometry, finite element methods, network methods and e-business applications. This course isa core requirement for the Information Technology M. Eng. program.
Lecture Notes
SES# | TOPICS |
---|---|
1 |
Administrative & Introduction Makefile Primer GNU Makefile Documentation CVS Documentation |
2 | Overview of C++ and Object-Oriented Design |
3 | Object Construction and Destruction |
4 | Dynamic Management of Objects |
5 | Operator Overloading |
6 | Inheritance |
7 | Linked Lists,Static Class Members |
8 | Quiz Review |
9 |
Templates, Sorting &Searching Algorithms |
10 |
Programming in Java® Shape Example |
11 | Java® Basics (contd.) |
12 | Graphical Programs |
13 | Applets and Applications |
14 | Custom Graphics |
15 | File I/O |
16 | Quiz Review |
17 |
Multithreading Working with Images |
18 | Physical Simulation |
19 | Source Code Management Using CVS |
20 | Java® Remote Method Invokation Framework |
21 | Java® Beans,Java® 3D |
Course Description
This is a reading and discussion subject on issues inthe engineering of software systems and software development project design. It includes the present state of software engineering, what has been tried in the past, what worked, what did not, and why. Topics may differ in each offering, but will be chosen from: thesoftware process and lifecycle; requirements and specifications; design principles; testing,formal analysis, and reviews;quality management and assessment; product and process metrics; COTS and reuse; evolution and maintenance; team organization and people management; andsoftware engineering aspects of programming languages.
Lecture Notes
LEC# | TOPICS |
---|---|
1 | Introducing The Problem (PDF) |
2 | Process and Life Cycle Models (PDF) |
3 | Requirements and Specification (PDF) |
4 | Design (PDF) |
5 | Design (cont.) (PDF) |
6 | COTS and Reuse (PDF) |
7 | Metrics and Reliability Assessment (PDF) |
8 | Building Confidence (Testing, Analysis, QA, Reviews) (PDF) |
9 | Selecting a Programming Language (PDF) |
10 | Team Organization and People Management (PDF) |
11 | Software and System Safety (PDF) |
12 | Putting It All Together |
Course Description
Student teams formulate and complete space/earth/ocean exploration-based design projects with weekly milestones. This course introduces core engineering themes, principles, and modes of thinking, and includes exercises in written and oral communication and team building. Specialized learning modules enable teams to focus onthe knowledge required to complete their projects, such as machine elements, electronics, design process, visualization and communication. Examples of projects include surveying a lake for millfoil from a remote controlled aircraft, then sending out robotic harvesters to clear the invasive growth; and exploration to search for the evidence of life on a moon of Jupiter, with scientists participating through teleoperation and supervisory control of robots.