Open.CS: Online Computer Science Courses

The School of Computer Science at the University of Massachusetts Amherst is offering open, online courses to anyone interested in learning about computer science topics. Courses are offered for free on a non-credit basis, and run in tandem with on-campus lectures.

For Spring 2013, we are offering two courses: undergraduate-level Computer Networks by Professor Arun Venkataramani, and graduate-level Distributed Operating Systems by Professor Prashant Shenoy.

Distributed Operating Systems

Instructor: Prashant Shenoy

Level: Graduate

Dates: February 11, 2013 to May 20, 2013

Course Description: This course provides an in-depth examination of the principles of distributed systems in general, and distributed operating systems in particular. Covered topics include processes and threads, concurrent programming, distributed interprocess communication, distributed process scheduling, virtualization, distributed file systems, security in distributed systems, distributed middleware and applications such as the web and peer-to-peer systems. Some coverage of operating system principles for multiprocessors will also be included. A brief overview of advanced topics such as cloud computing, green computing, and mobile computing will be provided, time permitting.

Skills needed: Students should be able to easily program in a high-level language such as C, have had a course on data structures, be familiar with elements of computer architecture and have had previous exposure to the operating system concepts of processes, virtual memory, and scheduling. A previous course on uniprocessor operating systems will be helpful but not required.

Course Certificate: Upon satisfactory performance in assignments and exams, students will receive a certificate of completion from Prof. Shenoy. Note that while this certificate will bear Prof. Shenoy's name, it has no official affiliation to the University of Massachusetts.

Register or Login: To register for the course, or to login if already registered, click below to proceed to Moodle. If you have not yet registered, you may then click "Create New Account".


Computer Networks

Instructor: Arun Venkataramani

Level: Undergraduate

Dates: February 11, 2013 to May 20, 2013

Course Description: This course provides an introduction to fundamental concepts in the design and implementation of computer networks, their protocols, and applications with a particular emphasis on the Internet's TCP/IP protocol suite. Topics to be covered include: overview of network architectures, applications, network programming interfaces (e.g., sockets), transport, congestion, routing, and data link protocols, addressing, local area networks, wireless networks, network security, and network management. There will be five or six homeworks, two programming assignments, several hands-on labs (that require an Internet-connected personal computer) and two exams.

Skills needed: An understanding of basic computer systems concepts and probability is required. Students will also benefit significantly from a prior or concurrent exposure to algorithms and operating systems although these are not necessary. You must be able to program in a structured high-level programming language, such as C, C++, JAVA, Python, etc. You can do the programming assignments in a language of your choice.

Course Certificate: Upon satisfactory performance in assignments and exams, students will receive a certificate of completion from Prof. Venkataramani. Note that while this certificate will bear Prof. Venkataramani's name, it has no official affiliation to the University of Massachusetts.

Register or Login: To register for the course, or to login if already registered, click below to proceed to Moodle. If you have not yet registered, you may then click "Create New Account".


Professor Prashant Shenoy

Prashant Shenoy is a Professor of Computer Sceince at the University of Massachusetts Amherst and heads the Laboratory for Advanced Systems Software. His research interests lie in operating and distributed systems, sensor networks, Internet systems, and multimedia. He is also part of the UMass Center for Advanced RFID Research. His research team builds systems and understands them through analysis and experimentation.

Professor Arun Venkataramani

Arun Venkataramani is currently an Associate Professor in the Department of Computer Science at the University of Massachusetts Amherst. He completed his PhD in Computer Sciences at the University of Texas at Austin in 2004 and subsequently joined UMass Amherst by way of a Visiting Faculty appointment at the University of Washington. He received his bachelor's degree in Computer Science and Engineering at IIT Bombay in 1999. His research interests are in networked and distributed systems and his current research focuses on mobile and wireless systems, content distribition, Internet architecture, and network security. He is a recipient of an NSF CAREER award and his work has received several best paper awards at venues including USENIX NSDI and ACM CoNEXT.


Disclaimer: Free open course content is made available by the respective instructors and is not endorsed for official course credit at UMass or elsewhere.