EC512 – Enterprise Client/Server Software
Spring 2024

  Instructor

Prof. Thomas P. Skinner, Ph.D.
PHO 513
tom@bu.edu


Reference Materials

Prerequisites

Students must be fully competent in an object oriented programming language (C++, C#, or Java preferred). Familiarity with web technologies such as HTML, scripting, XML, etc. is helpful. Programming experience with a graphical user environment is also very desirable.

Senior or graduate student status is required or permission.

Course Goals

·         To explore and use cutting edge technology for enterprise software development in the modern distributed environment afforded by the World Wide Web (WWW).

·         To understand the implementation of these technologies.

·         Integrate basic knowledge of computer networks with software design.

·         Learn modern rapid application development (RAD) techniques.

·         Develop experience in working with current and developing standards, e.g., W3C

·         Gain an understanding of the issues of interoperability, cross platform migration and backward compatibility. 

Grading

Attendance

Attendance is an imperative for success in this course. Much of the knowledge is gained through in class examples and discussion. Attendance is required and constitutes 40 percent of your grade. You will receive 2 points for every class attended up to the 40 points. There are more than 20 possible classes allowing extra classes beyond the 20 necessary for a perfect attendance score. You will receive a 0.5 point bonus for every class attended beyond 20. Bonus points apply directly to your average and are not required for achieving a perfect 100 points for the course. They will instead be used to compensate for lost points elsewhere in the course.

Late Assignments

Late assignments will be accepted up to one week after the original due date with a 50% penalty. Assignments will not be accepted beyond one week late without extreme mitigating circumstances. Should a situation arise you must contact me in advance and I will decide if an extension is warranted. There is no free late policy in this course.

Software

Visual Studio 2022 Community should be obtained directly from Microsoft using the instructions I will provide. This is the REQUIRED software for the course. There is no charge for this software. The software must be run on the Windows OS. The MAC version of VS can't be used.

Cheating

Any form of copying of any part of another student’s program or other source is plagiarism and will result in a grade of F. Students may assist one another in understanding the concepts of the course. I urge cooperation among students in helping each other with the concepts only. The line is drawn at the program code. Program code must be an individual effort. In addition to failing the course I will report all such academic misconduct to the student conduct review board. The easiest way to guarantee you are not crossing the line is to never look at anyone else’s code and do not show your code to anyone else.

All assignments must be done individually. No working with other students is permitted.

Do not place code on public sites such as GitHub or other source controlsites. You do not want to be involved in contributing to plagiarism. DO NOT SEEK OR LOOK AT ANY PRESENT OR FORMER STUDENT'S PROGRAMS ON SITES SUCH AS GITHUB. If I find you have posted anything from this course on a public site I will regard it as plagiarism.

Internet Use

The internet may be used with retrictions regarding plagiarism. If you copy anything it must be very limited. For example a coupe of lines of code from the Microsoft documentation site. Anything copied must have a comment as to its source. The use of generative AI such as ChatGPT is strictly prohibited. Don't even think of going there.

The use of any type of proxy to write your code is grounds for an F in the course and perhaps even expulsion from the University.

Last semester my staff started using automated tools to detect plagiarism including the use of ChatGPT etc. If you cheat the odds are very high you will be caught.

Course Web Site

This course has a web site. Lab assignments and other material that is relevant to this course will be posted there. The web site will also contain copies of all course overheads. These can be viewed and/or printed as you prefer. The course web site is located at http://tomcat.bu.edu/ec512. Visit this site on a regular basis.  I do not use Blackboard except for some notifications.

Some parts of the site are password protected and the password will given out in class.

Topics

This is a tentative list of topics. Not all topics will necessarily be covered and some not listed may be added. This is not meant to be a week by week listing but is the general order we will cover the topics. 

  1. Downloading and installing tools and resources from  the web.
  2. Using Visual Studio 2022 for HTML authoring
  3. HTML and CSS
  4. Review of basic TCP/IP networking
  5. HTTP, servers and other basic concepts
  6. Legacy server side technologies.
  7. .NET technology overview, ASP.NET.
  8. .NET (formerly .NET Core) and .NET Framework differences.
  9. ASP.NET technologies (Web Forms, MVC, Razor etc.
  10. Important C#  concepts (probably will be left up to you to learn the majority)
  11. An introduction to the .NET class library (brief).
  12. Web forms using ASP.NET and C#
  13. Web controls and user controls
  14. Database access with ADO.NET and Visual Studio tools (including LINQ)
  15. Use of SQL Server
  16. Web applications, session state, dynamic content, etc.
  17. AJAX
  18. Authentication, login and roles and other security topics