UW logo

CS 638 Web Programming

Material covered

This course is a unique opportunity to get a hands-on introduction to current technologies used for developing sophisticated web applications and a deep understanding of some key concepts behind large distributed client-server systems. In terms of specific technologies, this course covers protocols, programming and markup languages, and application frameworks such as HTML, C#, ASP.NET, SQL, JavaScript, XML, CSS, HTTP, and web services. The course uses such current technologies to illustrate widely applicable fundamental concepts related to system organization, software engineering, data representation, performance and the effects of having multiple stakeholders with divergent interests. The syllabus of the course has more details.

The material for this course is being developed by Cristian Estan and Perry Kivolowitz since Fall 2006 and it will become CS 369 in the near future (probably Spring or Fall 2008). CS 638 is a temporary designation for Fall 2007 only, the material and the pace of the course are suited for a 300-level or 400-level CS course. This course's prerequisite is CS 367 or programming experience and the consent of the instructor. The material offers a gentle introduction to some subjects covered more completely in other CS courses at the 500 or 600 level.

Should I take this class?

If you are thinking about declaring CS as a major, this is a good class to take. It will expose you to some subjects covered in more advanced CS courses and it will give you a more nuanced idea of what "real world programming" looks like. To declare CS as a major you need to obtain a GPA of at least 2.6 for an "admissible sequence of CS courses". This class can be part of that sequence.

If you do not want to declare CS as a major, but you want to get a CS certificate, this is a good class to take. It will give you a practical introduction to technologies you may use to write small applications that solve data management problems in your main field of study. This class counts as one of the 6 CS courses you need for the certificate.

If you are a CS (or non-CS) major and you expect that after graduation you will be looking for a programming job, this is a good class to take. It will introduce you to technologies widely used in industry today. Even if you end up working with different technologies, many of the concepts covered in this class will probably apply and will help you learn those technologies faster and easier. CS 638 can count as one of the general electives to satisfy the degree requirements for a CS major, but there are some forms to fill out.

If you are curious to find out about how the web works and you have programming background, this is a good class to take.