Text Box: TUportalText Box: Course Map 

 

 

CIS 9618: Software Engineering

Fall 2012

 

Welcome to CIS 618.   Your instructor is David Lefkovitz.  I can be reached at

·         Office              315 Wachman Hall

·         Telephone        215-204-5550

·         e-mail              d.lefkovitz@temple.edu

 

Ø Course Objective

This course takes a technology-based approach to the software engineering of networked application systems design and programming.  Normally a course does not predicate itself upon a particular proprietary system, but the new Microsoft .NET technology inherently contains so many implications for new software engineering paradigms that it cannot be ignored.  This course, therefore, will draw upon this new technology for its theoretical, architectural, and system design foundations.  If one were to view the Microsoft evolution of its application development tools over the past 20 years, 3 characteristics would be revealed: (1) Improvement of developer productivity through coding aids and automation, (2) response to accepted (and competing) open technologies like Unix and Java, and (3) response to the ubiquitous use of the internet.  An evolutionary time line might appear as:

 

MS-DOS

      Windows

             Office

                  VB/Access/SQLServer

                      OLE/COM/COM+

                            ASP

                                  .NET

 

.NET is the current and most advanced stage of this evolution, drawing together the three above mentioned characteristics into a system that bridges:

 

 

 

 


 

 

 

 

The course thus uses .NET as a model for the software engineering of enterprise applications primarily intended for networked and distributed deployment and takes its cue from these 3 characteristics:

 

Ø  How to optimize productivity of the software engineer

Ø  How to integrate the best that open technologies have to offer

Ø  How to build large scale systems that operate most efficiently on the internet.

  

Ø ASP.NET and VB.NET Languages and Course Resources
The basic prerequisite knowledge of the course is the use of web based client/server language systems involving HTML and VBscript  or Javascript for client side processing and ASP/VB or JSP/Java for server side processing.   The corresponding .NET technologies that we will be learning are syntactically more similar to ASP/VB but structurally more similar to JSP/Java, because they are more purely object oriented languages.  These languages are ASP.NET and VB.NET.

 

Resources for learning and using these languages are:

 

(1) The website that you are currently reading, referred to as the WebNotes.

(2) The TextBook

(3) OnLine References

(4) MSDN online documentation

(5) VB.NET online Class definitions

(6) The Help system embedded in VS.NET 

(7) Intellisensing within VS.NET

 

Ø Course Structure and Textbook
There are 3 major segments to the course.
 

1.   Learning the relationship of .NET structure to Software Engineering principals and system architectures

2.   Learning the basics of ASP.NET and VB.NET through the course resources discussed above, exercises found in the textbooks, examples within these WebNotes that serve as code models, and the lab exercises.  The actual coded solutions for all of the book examples are available to you on the class Board.  You can examine and run them as you study the corresponding chapters of the two books. Many other examples will be presented and discussed in detail in the lectures.  

3.   Development of a Term Project.  This includes design, coding and testing of the project.

 

Textbook

The textbook is not required but is a good Reference book for the course. 

ASP.NET 3.5..  Web Programming with VB2008, Anne Boehm, Mike Murach and Associates, 2008, ISBN: 1-890774-32-4.  The programmed examples in the book can be downloaded by going to the Murach website at http://www.murach.com/downloads/avb8.htm .

 

Ø Grading

The course is very project intensive.  70% of the grade will be based upon assigned programming exercises and the term project.  A midterm exam comprises 10% and a final exam the remaining 20%.

 

The six lab assignments are each weighted by difficulty.  Each assignment will be given a letter grade.  These are then converted to the GPA numeric equivalent from 0 to 4, weighted by the Assignment Weight shown in the Project Schedule, summed and divided by 21, which is the total of the Assignment Weights, and multiplied by 0.7.  The two exams are graded in the same way, making up the other 30%, and are added to the numeric score of the projects.  The result is a number from 0 to 4, which is converted back to a letter grade for the course.  The formula is:

 

0.7*(Swigi)/24 + 0.1*m + 0.2*f

 

where wi is the weight of the lab assignment i, gi is the numeric grade of Lab Assignment i, m is the numeric grade of the midterm exam, and f is the numeric grade of the final exam.

 

Each assignment has a deadline, shown in the Due Date column of the Project Schedule.    Submission policy is that an assignment turned in by the Due Date gets the full letter grade.  It can be turned in up to one week late but will be downgraded by 1 letter grade.  It will not be accepted after the Late Date.  Note that Projects 5.3 and 5.4 have no Late Date.

 

Ø Development Tools

We will use the following development tools, all of which are available in the lab and which can also be provided to you for installation on your home computer:

·         Visual Studio (VS) .NET for development of aspx web pages, VB code behinds, and VB components.

·         Microsoft Enterprise Manager for SQL Server

 

Ø The Course Map

Most of the information that you will need for this course can be obtained by a navigation process through the Course Map.  This map contains the following sections:

 

·         Syllabus

·         Schedules

o    Lecture

o    Project Assignment

o    Servers

·         Reference Material

 

·         Schedules and Accounts

The Lecture Schedule presents a series of Lecture units, textbook readings and links to more detailed lecture material.  

 

The Project Schedule presents the 7 project assignments and their due dates.  These have been described above under Grading.  

 

The Servers describe 4 server machines, where the various course files are stored.

 

·         Reference Material

The Reference Material section will give you links to OnLine references and some hard copy references.  The OnLine references are classified by major topics, such as HTML, ASP VBScript, VB, Java, JSP, etc.

You should also search the web for additional, and possibly better, references for languages in the course.  If you find better references than the ones provided, or links that are no longer available, please send the urls to the Instructor.  

 

Good Luck and enjoy the course.