This page is for a past semester (s15) and is for archival purposes only
Mobile Systems Engineering (CSE 4340 / CSE 5349 [Special Topics in Networking])
University of Texas at Arlington
Computer Science and Engineering
Instructor:
Taylor JohnsonEmail Address:
firstname.lastname@uta.edu (replace firstname with Taylor and lastname with Johnson and note there is no mavs subdomain)Office Number:
Engineering Research Building 559Office Telephone Number:
817-272-3610Section Information:
CSE 4340-001 and CSE 5349-001, Spring 2015 (28822 and 28823)Course Website:
http://www.taylortjohnson.com/class/cse4340/s15/Time and Place of Class Meetings:
Tuesdays/Thursdays 3:30pm-4:50pm, Nedderman Hall 202 (NH 202); (note: old room until Feb. 17 was NH 106, all future classes are in NH 202)Office Hours:
ERB559, Tuesdays/Thursdays 9:30am-10:30am and by appointment (email me to schedule)Graduate Teaching Assistant (GTA):
Nathan HerveyGraduate Teaching Assistant Email Address:
nhervey@mavs.uta.eduGraduate Teaching Assistant Office Hours:
Mondays / Wednesday 1:00pm-2:30pm, ERB 562Course Schedule (Syllabus; note that all information appearing on this website supersedes that appearing in the syllabus PDF, that is, the website is more up-to-date):
The instructor for this course reserves the right to adjust this schedule in any way that serves the educational needs of the students enrolled in this course. All assignment dates are approximate at this point and will be updated on this website as the semester progresses. All readings refer to the Coulouris, Dollimore, Kindberg, and Blair recommended textbook unless otherwise noted.Date | Content | Resources / Readings | Assignments |
---|---|---|---|
1/20 | Introduction and Course Overview: What are mobile systems? (First Day of Classes) | ||
1/22 | Network / Graph Theory | Chapters 1, 2, and 3 | Homework 1 Assigned (files on BlackBoard) |
1/27 | Network / Graph Theory | Chapters 1, 2, and 3 | |
1/29 | Networking and Routing | Chapters 1, 2, and 3 | |
2/3 | Modeling Distributed Systems: Concurrency, Shared Memory vs. Message Passing, Synchrony vs. Asynchrony; Extended State Machines and Transition Systems | Chapters 1, 2, and 3 | Homework 1 Due; Homework 2 Assigned (files on BlackBoard) |
2/5 | Time and Ordering Events in Distributed Systems | Chapter 14 | |
2/10 | Time and Ordering Events in Distributed Systems: Lamport Clocks | Chapter 14 | |
2/12 | Time and Ordering Events in Distributed Systems: Vector Clocks | Chapter 14 | Homework 2 Due; Homework 3 Assigned (files on BlackBoard) |
2/17 | Global States and Cuts | Chapter 14 | |
2/19 | Global States, Cuts, and Time/Clock Synchronization | Chapter 14 | |
2/24 | No Class (University Closed for Bad Weather) | ||
2/26 | Distributed Snapshots and Predicate Detection, Chandy-Lamport Algorithm | Distributed Snapshots: Determining Global States of Distributed Systems | Homework 4 Assigned (files on BlackBoard) |
3/3 | Safety and Liveness: Overview and Relationship of Fundamental Problems (Mutual Exclusion, Leader Election, Consensus, etc.) | Homework 3 Due (Extended from earlier deadline of 2/26 due to university closure) | |
3/5 | No Class (University Closed for Bad Weather) | Homework 4 Due; Programming Assignment 1 Assigned | |
3/10 | No classes, spring break | ||
3/12 | No classes, spring break | ||
3/17 | No Class (Instructor Traveling) | Chapters 1 and 2 of Zimmerman 2012 | |
3/19 | StarL and Project Discussion | Chapter 3 of Zimmerman 2012 | |
3/24 | StarL Code Discussion | Chapters 4, 5, and 6 of Zimmerman 2012 | |
3/26 | No Class: Work Day for Programming Assignment 1 | Programming Assignment 1 Due; Programming Assignment 2 Assigned | |
3/31 | Programming Assignment 2 Discussion | ||
4/2 | Distributed Algorithms for Physical Systems (Flocking, Iterative Consensus, Averaging) | ||
4/7 | Self-stabilization | Arora, A.; Gouda, M., "Closure and convergence: a foundation of fault-tolerant computing," Software Engineering, IEEE Transactions on , vol.19, no.11, pp.1015,1027, Nov 1993 | |
4/9 | Final Project Discussion | ||
4/14 | No Class (Instructor Traveling) | ||
4/16 | No Class (Instructor Traveling) | Programming Assignment 2 Due; Final Project Assigned | |
4/21 | Consensus, Replication Control, Paxos, and Raft | Raft website; Raft visualization; Paxos made simple | |
4/23 | Programming Assignment 1 Recap, Final Project Strategies, Path Planning with RRTs | LaValle: Planning Algorithms, Chapter 5, especially section 5.5 on RRTs | |
4/28 | Path Planning with RRTs | LaValle: Planning Algorithms, Chapter 5, especially section 5.5 on RRTs | |
4/30 | Traveling Salesman Problem and Final Project Strategies/Help | ||
5/5 | Final Project Strategies and Help | ||
5/7 | Course Wrap-Up and Final Project Competition Rules (Last Class) | Final Project Due | |
5/8 | Semester Last Day of Classes | ||
5/14, 2pm-4:30pm | Final Project Competition (Scheduled Final Exam Time) |
Required Textbook and Other Course Materials:
- StarL Github Repository: Stabilizing Robotics Programming Language. Our projects in this course will use StarL, a Java/Android-based programming environment for distributed/swarm robotics applications. More information on StarL is available at Illinois.
- Shiviz: tool to visualize executions of distributed systems, such as StarL
Optional Textbooks and Additional References:
- Main Optional, Recommended Textbook (if you get one book, probably get this one): "Distributed Systems: Concepts and Design," George Coulouris, Jean Dollimore, Tim Kindberg, and Gordon Blair, Addison-Wesley, Fifth Edition, ISBN-13: 978-0132143011.
- "Distributed Systems: An Algorithmic Approach," Sukumar Ghosh, CRC Press, Second Edition, 2014, ISBN: 1584885645.
- "Distributed Computing: Fundamentals, Simulations, and Advanced Topics," Hagit Attiya and Jennifer Welch, Wiley, Second Edition, 2004, ISBN: 978-0471453246.
- "Distributed systems: principles and paradigms," Andrew Tanenbaum and M. Steen, Prentice Hall, Second Edition, 2005, ISBN: 0132392275.
- "Distributed algorithms: concepts and design," Nancy Lynch, Morgan-Kaufmann, 1ed, 1996, ISBN: 1558603484.
Description of Course Content:
Mobile devices including hand-held computers, sensor nodes and smart phones, operating systems, middleware and communication in mobile environments. Applications of mobile systems in health, entertainment, security and other areas.Prerequisites:
All students are expected to have basic knowledge of networking since CSE 4344, Computer Network Organization, is required as a co-requisite or prerequisite for this course. Students are expected to have taken CSE 2320 Algorithms and Data Structures and CSE 3320 Operating Systems so as to be proficient with elementary computer science theory (discrete math, algorithms, graphs, etc.), discrete mathematics, and systems. Students are expected to have working experiences with software development, including software version control systems such as Git, Mercurial, and Subversion.Student Learning Outcomes:
The objective of this course is to introduce upper-level undergraduate and beginning graduate computer science and engineering students to the modeling, analysis, engineering, and theory of mobile systems, such as mobile phones, vehicular networks, sensor networks, robotic networks, and other form of wirelessly networked computer devices that have mobility. At course conclusion, students should be able to:- Define network components of mobile systems, such as wireless network interfaces, network protocols, network layers etc.
- Understand, model, and analyze concurrent computation in a single computer and between networked computers.
- Understand canonical problems and solutions in distributed systems, such as time and ordering of events, clock synchronization, mutual exclusion, leader election, consensus, self-stabilization, failure detectors, etc.
- Analyze computational tradeoffs for problems and solutions, such as time (round, etc.) complexity, message complexity, etc.>
- Develop problem-solving abstractions for implementing programming solutions for mobile systems.
Descriptions of major assignments and examinations:
Coursework for roughly the first half of the course will study mobile systems from a distributed systems and networking perspective. The second half of the course will include fewer homework assignments, but several programming assignments for mobile systems, and a final exam. Online and in-class quizzes and discussions will make up a portion of the grade. Approximate due dates of assignments are shown in the course schedule.Attendance:
At The University of Texas at Arlington, taking attendance is not required. Rather, each faculty member is free to develop his or her own methods of evaluating students' academic performance, which includes establishing course-specific policies on attendance. As the instructor of this section, students are strongly encouraged to attend lectures (particularly due to some graded in class quizzes), come to office hours, and make use of all available educational resources.Other Requirements:
Exams will be closed book, but students will be allowed to bring a two-sided sheet of letter-size paper. Students are expected to check the course website for updates to the course schedule throughout the semester.Grading:
Grade percentages will be calculated based on the following weights:- Homework and Programming Assignments: 50%
- Course Project: 20%
- Quizzes and Participation: 10%
- Final Exam: 20%
- 100 >= A >= 90
- 90 > B >= 80
- 80 > C >= 70
- 70 > D >= 60
- 60 > F >= 0
Make-Up Assignments, Exams, and Late Assignment Submission:
If you miss an exam or quiz due to unavoidable circumstances (e.g., health), you must notify the instructor in writing via email as soon as possible and request a makeup approval. If it is a planned (non-emergency) abcense, you must inform the instructor ahead of time! Do NOT ask for make-ups if you do not complete something due to travel (except when you are required to travel to represent the university or department on official business, but request at least 3 days ahead of the due date or exam time). If you submit an assignment late, it will have points taken off at a rate of 33% per day.Grade Grievances:
Any appeal of a grade in this course must follow the procedures and deadlines for grade-related grievances as published in the current undergraduate catalog (see here).The first step is as follows. If you do not believe a grade on a particular assignment is correct, you may appeal the grade in writing (by email) within 5 days. Grade appeals must be appealed to the appropriate GTA first, then to the instructor if necessary.