Information Technologies. Programs extension.uci.edu/mobileapps. Mobile
Application. Development. Certificate Program. Accelerate Your Career ...
MobileApps_Brochure_Layout 1 9/25/16 10:52 AM Page 3
Information Technologies Programs
Mobile Application Development Certificate Program
Accelerate Your Career
ce.uci.edu/mobileapps
MobileApps_Brochure_Layout 1 9/25/16 10:52 AM Page 4
UCI Division of Continuing Education’s professional certificate and specialized studies programs help you increase or enhance your current skills or prepare for a
Improve Your Career Options with a Professional Certificate
new career. Courses are highly practical and instructors are qualified leaders in their field. Convenient online courses make it easy to learn on your own time, in your own way. A certificate bearing the UC seal signifies a well-known, uncompromising standard of excellence.
Mobile Application Development Certificate Program More people access the web via mobile devices than from personal computers. As the number of devices expands dramatically, users are becoming accustomed to having both web and computing access via small, mobile devices and phones. This has resulted in a significant increase in demand for developers with experience using platforms such as iOS and Android. At the same time, the growth in popularity of cloud computing has increased the ability for these devices to perform functions that previously required computation power unavailable on mobile devices.
Who Should Enroll This program is intended for individuals interested in the design, development, or use of mobile device applications, games, or utilities. It will benefit those who wish to distinguish themselves across a wide range of employment and technical disciplines within the rapidly expanding field of mobile application development.
Program Benefits Develop the skills required to create applications for the major mobile device players including Apple iPhone and Google Android n Create strategies to overcome mobile development challenges including memory and processor limitations, intermittent network access, and limited battery power n Learn how to effectively use application architectures for a range of wireless devices via hands-on experience n Explain the factors to consider when designing software for multiple platforms n Increase confidence by implementing applications from scratch using best practice principles including object oriented design and test driven development n Understand the relationship between the mobile market and other emerging technologies including cloud computing and social networking platforms such as Facebook, Twitter, and LinkedIn n Acquire the necessary skills to ensure mobile applications efficiently utilize corporate data or data available from external web services n Gain insight into new trends and features in the mobile device marketplace n
MobileApps_Brochure_Layout 1 9/25/16 10:52 AM Page 1
Entire Program Available Online
Curriculum Program Fees The total cost of the program varies depending on the electives chosen. Actual fees may differ from the estimate below. Fees are subject to change without prior notice. Course Fees $4,685 Candidacy Fee $125 Textbooks $120 Total Estimated Cost $4,950
Certificate Eligibility and Requirements A certificate is awarded upon completion of 15 credit units (6 required and 9 elective credit units) with a grade point average of “C” or better. Students have a choice of two tracks (iOS or Android) as part of their required courses. Students may also choose additional courses from the required tracks and use them towards their electives. Students who have taken related courses in IT (Java, Microsoft, SQL, etc.); Device Software Engineering or Embedded Systems Engineering may be able to apply some of their completed units to electives in this program. To become an official candidate in the program, students pursuing the certificate must submit a Declaration of Candidacy. To receive the certificate after completing all program requirements, students must submit a Request for Certificate. All requirements must be completed within 5 years after the student enrolls in his/her first course. Students not pursuing the certificate program are welcome to take as many individual courses as they wish.
Required Courses (6 units) Introduction to Mobile Application Design and Development I&C SCI X402.35 (1.5 units) Learn about mobile application development, market opportunities, and technical requirements for Apple (iOS), Google (Android) and Microsoft (Mobile 8). Course focuses on installing, developing, testing, and distributing mobile applications. Develop practical experience within all three platforms and implement a sample application in a platform of choice. Challenges including limited screen sizes, memory issues, and the variety of phones will also be discussed. Compare and contrast products designed by major vendors using a hands-on approach.
Advanced Mobile Application Design and Development I&C SCI X402.36 (1.5 units) This class will build on the knowledge presented in the introductory course and focus on key topics relevant across implementation platforms. These topics include introduction to data handling and connectivity via SOAP or REST to backend services potentially hosted in a cloud environment. We will discuss design approaches to efficiently reach a large segment in the mobile market. We will contrast browser based approaches, upcoming cross-platform development tools, as well as hybrids that can very well take advantage of underlying phone functionality including GEO positioning, accelerometer, and rich gesture based UI handling. As time permits, we will discuss approaches to promote mobile applications in the market, including social networking software integration with Facebook and Twitter. Prerequisites: Programming experience in object-oriented programming languages like Objective-C, Java, or C# is not required but of advantage to digest programming samples.
Choose Two Courses from the Following Tracks: iOS Mobile Development for Apple iPhone and iPad
Corporate Training Our Corporate Training specialists can deliver this program or customize one that fits your organization’s specific needs. Visit ce.uci.edu/corporate or call (949) 824-1847 for information.
For more information: Jackie Badwah
[email protected] (949) 824-3413
I&C SCI X402.37 (1.5 units) Design and develop applications for the Apple iPhone and iPad. Recap how to register for the development program, download, and install XCode. Overview of the Objective C and the new SWIFT programming languages. Compile and debug sample applications that illustrate iPhone features and focus on User Interface Implementation. Develop applications to practice generating an interface. Become confident with Objective C and SWIFT code, the graphical user interface builder, and overall XCode project integration. Incorporate phone specific features like accelerometer, touch screen, GEO positioning, sound, and web access. Target groups for this class are developers, testers, and business analysts interested in this technology.
MobileApps_Brochure_Layout 1 9/25/16 10:52 AM Page 5
Curriculum Advanced Mobile Development for Apple iPhone and iPad I&C SCI X402.38 (1.5 units) Increase the knowledge presented in the introductory course and focus on features needed to support iPhone business applications. The programming exercises include Application Configuration, Data Persistence in Core Data, and open source database like SQLite. Covers advanced web access via SOAP and REST Service APIs utilizing JSON for data exchange. Further topics include advanced navigation models and more complex usage of GEO positioning, Accelerometer, and Multimedia features.
Android Introduction to Android Application Development with Java Essentials I&C SCI X402.39 (1.5 units) This is a five week introductory course which focuses on a foundational understanding of Google’s Android mobile device platform and developing basic applications for Android devices. The course covers Java programming essentials necessary for basic Android app development. Students will gain introductory level experience using the related Software Development Kit (SDK) from Google that is required to take further the two subsequent Android courses in this program (Application Development for Android Devices and Advanced Application Development for Android.) The course centers around building several basic applications and the core Android concepts required to complete a student directed application which combines several Android features. The class will also cover basic debugging for android applications.
Application Development for Android Devices I&C SCI X402.40 (1.5 units) Understand Google’s Android mobile device platform, its position in the marketplace and the applications for actual devices. Receive hands-on experience using Google’s Android Software Development Kit (SDK). Create several small applications based on core concepts and then use them to build a complex application which combines several Android features. Utilize and integrate specific features such as the user interface, process creation, life cycle events, process services, location based facilities, accelerometer, on-device sensors, network/web access, and sound/multimedia. Test-based development methods will be stressed throughout the course and students will learn to test and debug their applications using the emulator and an actual device. Course also includes an overview of the mobile device and application market, registering with the Google Market to be an Android developer, and distributing applications to the Android user population.
Elective Courses (Minimum 9 units) Introduction to Computer Programming Using C++ I&C SCI X471.1 (3 units) Learn the basics of computer programming using C++, a sophisticated programming language normally reserved for experienced users but now made accessible to new programmers in this fast-paced, hands-on course. In addition to introducing the language, this course also introduces the object-oriented paradigm, the modern approach to developing interactive software applications for a wide variety of uses. Topics include fundamental program structures, control structures, mathematical functions, data arrays, pointers, and dynamic memory. Because of the accelerated nature of this course, students are expected to allocate sufficient time outside of class to study the textbook and other materials provided in class. This course is designed for technical professionals with minimal programming experience and highly motivated individuals desiring to learn fundamental programming techniques.
Developing .NET Solutions with C# I&C SCI X402.05 (3 units) Learn C# (pronounced C-sharp), Microsoft's object-oriented programming language that combines the power of C++ with many of the features of Java. Learn how Extensible Markup Language (XML) and Simple Object Access Protocol (SOAP) simplifies programming in C# and how these features can decrease the time it takes to get new products and services to market. Topics include the Common Language Runtime, the Common Type System, the .NET Framework Class Library, the .NET software development kit (SDK), and data access using Active Data Objects (ADO.NET). Upon completion of the course, you'll be ready to write short C# programs that exercise the major features of the language as well as continue your study of the .NET environment.
Introduction to Programming using Java I&C SCI X460.2 (1 unit) This course enables a person with no programming experience to understand programming concepts using Java programming language. It will teach you how to think like a programmer, introduce you to the algorithm design, user interaction, code reusability, and basics of Java programming language. You will learn all this through hands-on examples, fun exercises, quizzes, and creative projects. By the end of this course you will have a solid understanding of the foundations of programming, allowing you to move to more advanced programming courses in the future. Prerequisites: This course assumes no prior experience with programming. Upon completion of this course, students will be able to start I&C SCI X460.10 Java Programming 1.
Advanced Application Development for Android I&C SCI X402.41 (1.5 units) Gain advanced knowledge of the Android platform including: issues and techniques, structuring applications for efficiency and reliability, accessing web services and integrating with third party libraries. Learn about background applications, content providers and animation. Receive hands-on experience using Google’s Android Software Development Kit. Create several small applications based on core concepts and then use them to build a complex application which combines several advanced Android features. Utilize and integrate specific features such as the user interface, process creation, life cycle events, process services, location based facilities, accelerometer, on-device sensors, network/web access, and sound/multimedia.
ce.uci.edu/mobileapps
MobileApps_Brochure_Layout 1 9/25/16 10:52 AM Page 6
Java Programming I
Creating Websites for Mobile Devices
I&C SCI X460.1 (3 units) Java is an excellent choice for those new to programming, wishing to enhance their current skillset or change their career. The aim of this course is to provide students with the knowledge and competencies to be able to write and design sophisticated professional programs using Java through extensive hands-on exercises. Included are core language concepts including fundamental data types, flow control, and standard function libraries. The course emphasizes object-oriented programming and modular design to support distributed development environments. Included are the design of classes and objects inheritance and polymorphism, and file I/O. The course also includes coverage of the Java Collections API, debugging, exceptions, and the Eclipse IDE. Optional modules throughout the course enforce basic concepts for those who are new to programming. After completion of this course, students are prepared for Java Programming II (I&CSCI X460.11).
I&C SCI X471.67 (1.5 units) This course looks at designing and developing websites specifically for mobile devices. As the number of smart phones and other mobile devices rapidly grow, web designers need to make sure their sites are usable and even optimized to be viewed on them. The topics range from design considerations to specific development steps. Prerequisite(s): I&C SCI X471.04 JavaScript Programming AND I&C SCI X471.10 Creating Web Applications with HTML5.
Agile Software Design and Programming
I&C SCI X460.11 (3 units) Expand your knowledge of Java and learn about several of the advanced features available in the Java programming environment. This course focuses on the development of advanced graphical user interfaces (GUIs) using Swing, multithreading and concurrency, Generics, basics of databases and Java Database Connectivity (JDBC), Servlets, Java Server Pages (JSPs), exception handling, debugging, and performance tuning. Students have an opportunity to practice implementing these and other Java features in this hands-on course.
I&C SCI X494.85 (2.5 units) Learn the principles, practices and patterns that result in optimal software design and development. Utilize the best practices from object-oriented design and Agile techniques/frameworks to create design processes and culture that result in highly effective, clean software to improve organizational efficiency and create a competitive advantage for your company. You will review a variety of case studies–from simple to complex–in multiple programming languages, illustrating the fundamentals of Agile development and Agile design. Topics include: release and iteration planning, test-driven development, refactoring, Agile design (including “design smells”, “code rot”), SingleResponsibility Principle (SRP), Open-Closed Principle (OCP), Liskov Substitution Principle (LSP), object and state diagrams, big software design issues, design patterns, class design, complexity management and package design, and the use of OOD and C++ in an Agile environment.
Java Web Services
Agile Project Management
I&C SCI X460.68 (1.5 units) Java Web Services is a hands-on course that teaches you the concepts, implementation, and usage of different types of web services using Java technologies. You will learn to design, develop, and publish SOAP and REST web services with Java technologies. You will also learn how to write clients for calling these web services. The special emphasis is put on applying the architectural concepts and best practices for developing secure and scalable web services (SOA, standards, etc.). Prerequisites: Knowledge of Java programming language and XML. Basic knowledge of Java enterprise systems.
I&C SCI X494.80 (3 units) This course teaches management of projects using agile and lean methods with a detailed focus on SCRUM and Kanban. The course starts with foundational knowledge of traditional project management and moves on to address key concepts in agile and lean methods. Students will explore SCRUM roles, artifacts, events, and processes thereby learning how products can be delivered iteratively and how customers are brought in the loop of product development process. The use of information radiators such as sprints and release charts is also covered. Students learn Kanban and how this flow-based method is used to achieve efficient and smooth work management improving timeto-market. Through real-life examples, the course will elaborate on how agile and lean methods can perform side by side with traditional projects or in hierarchical organizational structures. Industry recognized software tools such as Rally Dev will be used in the class to help students understand how to effectively manage a project in an agile environment.
Java Programming II
Cloud Computing Platform as a Service (PaaS) I&C SCI X460.53 (1.5 units) The primary objective of this course is to provide the techniques and practices of cloud computing. Cloud computing refers to a set of services that provide companies and application developers with the means to scale their application's resource usage through the Internet on demand. This course will concentrate on building applications on Google App Engine and Microsoft Windows Azure. This course will also teach the students the knowledge of designing and implementing a cloud-based software system. In addition, this course will explore the current challenges facing cloud computing.
MobileApps_Brochure_Layout 1 9/25/16 10:52 AM Page 2
Advisory Committee Ken Baldwin, President, GoingMobile Ralf Brockhaus, CEO, SmileFish Crista Lopes, Ph.D., Professor, Department of Informatics, Donald Bren School of information and Computer Sciences, University of California, Irvine Farhad Mafie, President and CEO, Savant Company Inc. Andrew Maltin, CEO, MEDL Mobile Wolf Paulus, Sr. Architect, Mobile Software Development, Hewlett-Packard
Jeffry Peacock, Owner, Wonkware John Petrone, SVP & CTO, Autobytel Mustafa Seifi, Senior Director of Development, Oracle Corp. Stefano Stefan, Ph.D., Director of Online Program Development, UCI Division of Continuing Education Aaron Stibel, SVP, Technology, Dun & Bradstreet Credibility Corp.
Academic Management Dave Dimas, Ph.D., Director, Engineering, Sciences and Information Technologies
Mobile Application Development Certificate Program Division of Continuing C ontinuing Education Education Jackie Badwah
n
(949) 824-3413
n
[email protected] 09.25.16
ce.uci.edu/mobileapps