Course
descriptions
|
Bioinformatics: Introduction to bioinformatics Instructor: Sami Khuri, San José State University Evaluation: final exam, homework, exercises Prerequisites: ˇ
Interest in biology The
need to understand the immense amount of data produced by large scale DNA
sequencing is of paramount importance. Demands for sophisticated analysis of
biological sequences are the driving force behind the rapidly expanding
research area of bioinformatics. Detailed
description: http://www.cs.sjsu.edu/faculty/khuri/Yverdon_2009
|
|
Web technologies I: Rich Internet Applications with Adobe Flex 2 Instructor: Natasha Khuri, San José State University Evaluation: final exam, homework, exercises Prerequisites: ˇ
Some familiarity with object-oriented
programming languages such as Java or C++ and XML technology. One
of the popular technologies for RIAs is Adobe Flex, which is now at version
3.0. Adobe Flex is popular among the web developers because of its power,
cross-platform support and appeal it can bring to a RIA. In addition, it has
an easy to learn programming model and the Flex development tool. This
course will cover the major facets of Adobe Flex. Students will learn how to
develop RIAs with rich user interface using powerful Abode Flex UI widgets
and their extensibility. Students will also learn events handling, data
binding, using containers to structure the user interface. The course is
taught in a lab, where students can practice with the tools and develop their
own projects. Topics
|
|
Web technologies II: Service-Oriented Computing and Web Services Instructor: Yinong Chen, Arizona State University Evaluation: final exam, project Prerequisites: ˇ
Object-oriented programming in C++, Java, or
C#. This course teaches the
principles in service-oriented computing and applies the latest technologies
to develop service-oriented software. By the end of the course, students will
be able to develop web applications such an online store. Topics to be covered include
service-oriented architecture; service-oriented computing paradigm, web
services, XML processing, service hosting, service registry and repository,
service composition, mashup, Web 2.0, Web 3.0, and application building based
on existing services from service providers such as Amazon, Google, and
Microsoft. The application building includes software development on both
client and server sides. Textbook: Y. Chen, W.T.
Tsai, Distributed Service-Oriented Software Development, Kendall/Hunt
Publishing, 2008. Related information can be
found at: http://www.public.asu.edu/~ychen10/teaching/cse445/index.html |
|
Web technologies III: Web technologies Instructor: Alvaro Monge, California State University
Long Beach Evaluation: homework, quizzes, project Prerequisites: ˇ
At least one year of programming (C++, Java) ˇ
Knowledge of data modeling and database
fundamentals (SQL) This course will study
client as well as server Web technologies. On the client side, we will focus
on DOM, XHTML, Javascript, and CSS. On
the server, we will learn some basic PHP programming to generate dynamic
content. Much of the focus of the
class will be on generating web pages that follow the standards set out by
the W3C (World Wide Web Consortium). Special focus will be given to Web
accessibility. Some historical aspects of the web will be included throughout
the course. On the server side, we'll learn about maintaining session state
across page requests. |
|
Software engineering I: Open-Source Software Development Instructor: Cay Horstmann, San Jose State University Evaluation: final exam, project Prerequisites: ˇ
Intermediate programming in Java or C/C++. ˇ
Some experience with shell usage in
Unix/Linux/Windows with Cygwin/Mac OS X. This summer course
introduces the theory and practice of open source software development. The theoretical part covers
the foundational underpinnings through reading and analysis of key white
papers, software licenses, documented development practices, and case studies
of several important projects of different degrees of complexity. In the
practical part, you will learn to use the "tools of the trade", in
particular, source control, build automation, and patching. You will learn
how to build open source projects, identify and implement fixes and
improvements, and interact with project developers and committers. |
|
Software engineering II: Global Software Engineering Instructor: James Collofello, Arizona State University Evaluation: final exam, project Prerequisites: ˇ
Knowledge of the software development process,
i.e. the requirements, design, coding and testing process. An undergraduate
course in software engineering should provide the prerequisites for this
course. This course is designed for
computer science or system engineering students interested in learning how to
develop software in a global environment.
Global software development is a reality with multi-national companies
producing software products with teams of software developers from around the
world. There are many challenges in
planning and tracking these projects and organizing these developers into
virtual work teams. This self-contained course
will provide an opportunity for students to work in teams to create software
development, quality assurance and risk management plans for a global
software development project. Specific topics to be addressed include:
|
|
Security I: Computer and Network Security Instructor: Partha Dasgupta, Arizona State University Evaluation: final exam, lab assignments Prerequisites: ˇ
Programming, ˇ
Data Structures, ˇ
Basic knowledge of Networking and Operating
Systems Security is at the forefront
of the currents of computing news. Fraud has taken a front seat in the
Internet, and is already causing significant financial losses that are
climbing. The innovation in computer crime has blown the lid on many inherent
flaws in our computing infrastructure (i.e. use of passwords) and financial
infrastructure (i.e. use of credit card and account numbers). We are coasting
in denial and spreading the losses and hoping things will get better. From
"Evil Twins" to "Pharming", from "SQL
Injection" to "Rootkits", the march of attack discovery is
outpacing the fixes. The sinister truth is well stated by a trade magazine
that said: "Computing at home has never been so powerful - and
treacherous. Just as millions of consumers are buying new PCs and signing up
for blur-fast Internet connections, cybercrooks are hatching schemes to take
control of their machines." We cover the techniques used
by attacks to gain personal information and financial gains. We cover the
countermeasures that are being deployed with limited success. We cover the
variety of new tricks that play cat and mouse between fraudsters and security
experts. We cover the inherent design defects that to unintended
consequences. In addition we cover the latest research techniques and
academic protocols that can stem the tide of attacks (virtualization,
integrity checking, link farm detection and so on).
|
|
Security II: Wireless Network Security Instructor: Abraham Rubinstein, HEIG-VD Switzerland Evaluation: final exam, lab assignments Prerequisites: ˇ
Knowledge of communication protocols ˇ
LAN technologies (Ethernet) Wireless technology is
becoming ubiquitous, not only at home and at the work place, but also in
public places with companies like Google offering the service for free in
entire cities. Although the use of Wireless LAN brings with it increased
mobility and the flexibility for the users, it can also be the source of
considerable security risks, reliability problems and of low quality of
service. These problems can be dealt with and solved with the proper level of
knowledge of the technology. This course will cover both
theoretical and practical aspects of IEEE 802.11x networks, including a
review of applicable standards, the protocol architecture, CSMA/CA, RTS/CTS
and contention free access mode protocols, wireless security, including the
weaknesses of WEP and WPA, physical layer channels in the ISM band, frequency
reutilization, layer-2 wireless roaming, and troubleshooting aspects. |
|
Security III: Web Application Vulnerabilities Instructor: Christian Buchs, HEIG-VD Switzerland Evaluation: Prerequisites: ˇ
Basic notions in web application development
(java, SQL, HTTP) ˇ
A short recap of the necessary notions will be
proposed before each lab. Major web application
vulnerabilities will be presented and tested in a deliberately insecure J2EE
web application. During the labs, students will demonstrate their
understanding of chosen security issues by exploiting real vulnerabilities in
the WebGoat application (from the OWASP project). |