Pitt HomeEngineering HomeContact Us
School of Engineering

About Us ABET ECE/COE 1186

Software Engineering with Java

(3 credits)

Course Description: This course introduces classical and object-oriented software engineering. The approach emphasizes current software practice where systems are developed in incremental stages. The course uses object-oriented approaches, stresses testing activities throughout development, and considers performance and other quality (non-functional) factors as key to successful design and implementation. Traditional software practices including specification, analysis, architecture, design, implementation, integration, and maintenance are covered. A semester-long, formal design project that involves the creation of a Java-based, internet application provides students with hands-on experience in contemporary software practice. Lab instruction and exercises introduce the Java language and include such advanced topics as Java applets, custom networking, remote database access, SQL, and multimedia extensions.

Prerequisites: ECE/COE 0142 or COE/CS 447

Texts:

(1)Object-Oriented and Classical Software Engineering, 6th Ed. by Stephen R. Schach

(2) Java Course notes for 1186

(3) "Java Programming", by Deitel and Deitel or other Java textbook optional

Course Objectives: This course explores essential software engineering principles through course lectures, labs, and through projects. Students will learn the scope of software engineering, lifecycle models (with emphasis on incremental approaches), and the object-oriented software development process in detail. Emphasis is on incorporating testing directly into the process at all stages and on the importance and use of effective software planning and estimation approaches. A capstone project, implemented in Java, illustrates the engineering and human issues present within a group development effort.

Topics Covered: This course will be broken down into two different tracks: learning software engineering methodology and learning object-oriented software design. Approximately 60% of the class time will be spent on software engineering methodology and 40% will be spent on software implementation specifics.

Software Engineering Specific

Software Life-cycle models
Testing Principles
Rapid Prototyping
Requirements and Specification
Object-Oriented Analysis
Implementation Phase
Implementation and Integration Maintenance

Object and Event Oriented Specific

Java Language Fundamentals
Java Operators and Assignments
Objects and Classes
Java Flow Control and Exceptions
Event-Oriented Flow Control
Java Threads
Java Networking
Internet Database Access using Java

Class/Laboratory Schedule: Class meets twice per week. Once for a 75-minute lecture and once for a 75-minute combined lecture and lab session.

Professional Component Contributions :

Open ended design projects with multiple solution paths Group projects Written presentation skills Use of state-of-the-art engineering tools (computers and software)

The following are the Course Goals (program objectives)

Course Goal A: To provide students with a balanced coverage of state-of-the-practice in software engineering.

A1. Students will master an integrated set of concepts in an efficient manner while including the relevant s6/28/05)

A2. Students will be able to integrate and apply knowledge from the basic mathematical, engineering, and scientific areas to solve realistic software engineering problems. (a, c, e)

A3. Students will be familiar with current technology and be able to utilize up-to-date tools and techniques in laboratories and design. (b, e, i, k)

Course Goal B: To provide students with a strong hands-on design and experimentation environment for software development, utilizing industry standard facilities.

B1. Students will use sufficient and appropriate software to explore differing design options and to develop their individual projects. (b, c, e)

B2. Students will work in teams to design their project using the theoretical background developed in courses. (a, b, c, d)

B3. Students will present their results in both written and oral form. (g)

Course Goal C: To provide students with a balanced course that emphasizes the importance of the interaction between technology and business/management decisions.

C1. Students will have experience in both project planning and design. (b, c, d, e)

C2. As members of a team, students will gain experience in dividing workload and in coordinating and assessing results. (c, d)

C3. Through experience, students will improve their communication skills. (g)

Course Goal D: To provide each student with a significant design experience through a combination of lab exercises, group workshops, and the group capstone project.

D1. Students will be introduced to a variety of design techniques and will be able to integrate these techniques in a term project. (b, c, d, e, k)

D2. Students will gain experience with realistic technical issues and link these to classroom theory with practical execution. (c, e, f, h)

D3. Students will learn from the experiences of others and will be able to apply ideas and concepts to their own problem. (c, d, e, g, h)

Prepared by: Shalom Cohen

Date Prepared: June 28, 2005

 

Benedum Hall

Dedicated in 1971, Benedum Hall is home to exploration and discovery.

You are using a browser that does not support current Web standards. Although this site is viewable in all browsers, it will look much better in a browser that supports Web standards.