Fall 2014 Course Schedule
Total Page:16
File Type:pdf, Size:1020Kb
Fall 2014 Course Schedule TPL011: Introduction to C Programming ................................................................................................................................ 2 TPL036: Introduction to Ruby and Rails ................................................................................................................................. 2 TPL064: An Introduction to Computer Vision and Automated Object Recognition ................................................................ 3 TPL103: Introduction to Intel x86-64 ....................................................................................................................................... 4 TPL109: Introduction to ARM (Advanced/Acorn RISC Machine) Architecture & Software Systems ..................................... 5 TPL465: Intermediate Intel x86: Architecture, Assembly, and Applications ........................................................................... 6 TPL477: Introduction to Android Forensics and Security Testing ........................................................................................... 8 TPL482: JSON and JSON Schema ........................................................................................................................................ 9 TST414: Introduction to Bayesian Data Analysis.................................................................................................................. 10 TSV062: Privacy Engineering ............................................................................................................................................... 11 TSV064: Introduction to Hardware Hacking .......................................................................................................................... 12 TSV065: Introduction to Side-Channel Analysis ................................................................................................................... 13 TSV066: Linux/Unix Security ................................................................................................................................................ 14 TSV100: Introduction to Secure Coding ............................................................................................................................... 15 TSV404: Introduction to Vulnerability Assessment ............................................................................................................... 16 TSV427: Introduction to Reverse Engineering Software ...................................................................................................... 17 TSV432: Introduction to Trusted Computing and the Use of Trusted Platform Modules...................................................... 19 TSV436: Secure Code Review ............................................................................................................................................. 19 1 | P a g e Approved for Public Release; Distribution Unlimited. Case Number 14-3731 ©2014 The MITRE Corporation. ALL RIGHTS RESERVED Fall 2014 Course Schedule TPL011: Introduction to C Programming Course Description: This course is an introduction to the C programming language. C is primarily a systems programming language suitable for a wide variety of domains. It is the implementation language of the Linux kernel, many standard Unix utilities, and is the basis for higher level languages like C++ and Java. This class for people with prior programming experience in any language, but would like to learn C. It will include instruction as a lecture, with labs interleaved to give students experience in concepts being taught. Course Objectives: • A basic understanding of the C language and standard library • Understanding of common C programming techniques, including procedural and object oriented approaches • Be able to use the standard socket APIs for Linux and Windows • Be able to do file input and output safely Format: Presentation, exercises, and labs. Prerequisites: Previous programming experience. Target Audience: All MITRE technical staff, and staff applying to the Deep System Security & Trusted Computing Learning Path. Length: 2 Days Schedule: December 8-9, 2014 - 8:30am - 4:30pm - EST Instructor: Collin Hockey ([email protected]) is a Senior Digital/Microprocessor Hardware Engineer in Bedford in the Electronic Systems Development Department J82E. Since 2010, Collin has worked multiple projects, including GPS, the Tactical Wireless Channel Emulator, and most recently on embedded software for the Bistatic Radar portfolio. TPL036: Introduction to Ruby and Rails Course Description: This course provides a thorough introduction to the Ruby programming language. Students will explore what differentiates Ruby from other modern programming languages. The class will have a strong focus on the tools that Ruby provides to generate logic and build applications with less code than other programming languages. Once a basic understanding of the Ruby programming language is attained, the class will provide an introduction to Ruby on Rails. This is a popular development framework for rapidly creating web applications. Students will leave the class with the tools they need to create simple Ruby and Rails applications and explore the ecosystem further on their own. Course Objectives: • Install and setup a Ruby and Rails environment • Identify the basics of the Ruby programming language. • Create and configure a Rails application • Develop a basic understanding of programming with Ruby, with the tools necessary to learn more 2 | P a g e Approved for Public Release; Distribution Unlimited. Case Number 14-3731 ©2014 The MITRE Corporation. ALL RIGHTS RESERVED Fall 2014 Course Schedule • Provide knowledge on the architecture of a Ruby on Rails application, with the ability to create a basic web application using it. Format: Lecture/Lab Prerequisites: Experience with an object oriented programming language, such as Java or C# Target Audience: This course is open to all MITRE technical staff. Length: 2 Days (14 Hours) Schedule: 11-Feb-2015 - 12-Feb-2015 (8:30 - 4:30) Instructor: Andy is an architect and developer on popHealth, a Ruby-based open source platform for calculating clinical quality measures. The design of popHealth allows the software to calculate quality measures for very large groups of patients in an easily scalable fashion. Andy is Technical Lead of the current effort to deploy a popHealth prototype installation at VA. Andy holds a BS in Electrical Engineering from Eastern Nazarene College and an MS in Computer Systems Engineering from Boston University. TPL064: An Introduction to Computer Vision and Automated Object Recognition Course Description: How can computers understand and interpret the visual world of humans? This course is an introduction to computer vision and automated object recognition in images and videos. In the simplest terms, computer vision is the exploration of "teaching machines how to see." Although this field dates back more than forty years, the recent explosive growth of images and videos has made the challenges of automated image interpretation more exciting and relevant than ever. This course will be a hands- on exploration of some of the fundamental aspects of computer vision. Topics will include image processing, image segmentation, facial recognition, automated object recognition and detection. With the help of the instructor, participants will learn to employ the latest developments in object recognition to build their own recognition systems. Course Objectives: • To understand and address the major approaches of basic issues in computer vision • To develop hands-on experience with the latest automated image and video processing techniques • Learning about image processing and segmentation, facial recognition, automated object recognition and detection Format: Presentation, discussion, combined with a hands-on lab component. Prerequisites: Some programming experience in either C, C++, Python. Target Audience: Participants interested in learning about image and video processing with some programming skills background. Length: 2 Days - 14 Hours Schedule: December 1-2, 2014 - 8:30am - 4:30pm - EST 3 | P a g e Approved for Public Release; Distribution Unlimited. Case Number 14-3731 ©2014 The MITRE Corporation. ALL RIGHTS RESERVED Fall 2014 Course Schedule Instructor: Mikel Rodriguez ([email protected]) is a researcher at MITRE. He was a post-doctoral fellow at the INRIA Willow team at the Département d'Informatique of Ecole Normale Supérieure in Paris, France. Mikel completed his PhD in Computer Science at UCF. His research focuses mainly on video interpretation which includes tracking, visual motion analysis, activity recognition, and crowd behavior analysis. An overview of the computer vision research being done by Mikel Rodriguez and his group can be found at: www.computervision.mitre.org/research/overview/ TPL103: Introduction to Intel x86-64 Course Description: Intel processors have been a major force in personal computing for more than 30 years. An understanding of low level computing mechanisms used in Intel chips as taught in this course serves as a foundation upon which to better understand other hardware, as well as many technical specialties such as reverse engineering, compiler design, operating system design, code optimization, and vulnerability exploitation. 25% of the time will be spent bootstrapping knowledge of fully OS-independent aspects of Intel architecture. 50% will be spent learning Windows