USF students talking after a presentation
G Web Science

Courses

Required Graduate Courses

Web Systems and Algorithms
Survey of Internet systems research including the anatomy of the web, search engine architecture and algorithms, information retrieval, crawling, text analysis, personalization and context, collaborative environments, and the semantic web.

Network Programming
Network application programming. Upper-layer protocols and their interfaces. Topics to be chosen from: TCP/IP, sockets, remote procedure calls, network management, client/server programming, internet protocols (FTP, SMTP, HTTP, and SNMP), higher-level interoperability (CORBA), performance issues, and security. Project required. Four hours lecture.

Distributed Software Development
Internet application development, including server-side technologies such as scripting languages, template frameworks, web page mining, and distributed computing issues such as peer-to-peer, multi-cast, and distributed agents.

Artificial Intelligence Programming
Use of artificial intelligence techniques to solve large scale problems. Search strategies, knowledge representation, and other topics chosen from: simulated annealing, constraint satisfaction, logical and probabilistic reasoning, machine learning, expert systems, natural language processing, neural networks, genetic algorithms, and fuzzy logic. Both theoretical foundations and practical applications will be covered. Coursework includes written assignments and programming projects. Four hours lecture.

Master's Project (two semesters)
At the discretion of the instructor, the project will be either a sponsored project for a commercial concern or or other institution or a research project. In either case, the project will result in the specification, design, and development of a significant software system with full documentation, an oral presentation to the university community, and a written report. Four hours lecture. Offered every semester.

Computer Security and Privacy
Learn the basics of computer security and the details of important network security protocols such as SSL/TLS. Topics include: symmetric key cryptography, public key cryptography, secure hash, wireless security, spam filtering, biometric.

Elective Courses (two elective courses required)

Programming Languages
Study of the design and implementation of software development languages. Topics chosen from: syntax, semantics, translation, run-time systems, advanced programming techniques, and debugging. Language families to be chosen include: functional, logic, visual, formal specification, design, pattern, database, and concurrent. Project required. Four hours lecture.

Algorithms
Study of the design and implementation of software development languages. Topics chosen from: syntax, semantics, translation, run-time systems, advanced programming techniques, and debugging. Language families to be chosen include: functional, logic, visual, formal specification, design, pattern, database, and concurrent. Project required. Four hours lecture.

Directed Reading and Research (1-4 units)
Written permission of the instructor, graduate program coordinator and dean is required.

Master's Project

All students in the Web Science program undertake a Master's project.  The project can be either a sponsored project for a commercial concern or other institution or a research project.  In either case, the project will result in the specification, design and development of a significant software system.