MSMC Curriculum-Core Courses

CORE COURSES (MC 500 – MC 505)

 

Course Prefix & No.: MC 500
Units: 3
Course Title: Introduction to Mobile Computing
Prerequisite: Graduate Standing
Course Description
The purpose of this course is to introduce students to the general topics in Mobile Computing System architecture.

Topics covered in this course are: mobile computing infrastructure, mobile hardware device introduction, mobile communication basics, mobile computing security, mobile application architecture, mobile development environment, and mobile development management.

Learning outcomes of this course are to have students be proficient in 3 major areas in mobile computing: (1) mobile computing hardware, (2) mobile communication infrastructure, (3) mobile software applications.

Course Prefix & No.: MC 501
Units: 3
Course Title: Android OS and Open Source Development
Prerequisite: Graduate Standing
Course Description
The purpose of this course is to introduce students how to leverage Android open source software to develop Android-based products.

Topics covered in this course are: Android Software Development Kit (SDK) & Native Development Kit (NDK), Android Build System, Android kernel, Android runtime environment, Android Debug Bridge (ADB), Android porting, and Open Source development environment and tools.

Learning outcomes of this course are to have students be proficient in 3 major areas of the Android OS: (1) Android Operating Systems and kernels, (2) Android application and development environment including Android SDK and NDK, (3) Open Source development tools and processes.

Course Prefix & No.: MC 502
Units: 3
Course Title: Mobile System Architecture Design Using UML
Prerequisite: Graduate Standing
Course Description
The purpose of this course is to provide students with concepts, principles, processes, tasks, and mobile system architecture design using standard Unified Modeling Language (UML) modeling diagrams. The software design theories will be applied to developing mobile computing applications.

Topics covered in this course are: Mobile system architecture, Android application design principles, Unified Modeling Language (UML) standards, object oriented design and modeling, software development process and models, use case modeling and requirements, Class diagrams, State diagrams, Sequence diagrams, software design specifications.

Learning outcomes of this course are: students are able to apply the Objected Oriented analysis and design concepts and methodologies for mobile software design and developments. Students will also build capabilities of using Unified Modeling Language (UML) to support the software design and prepare Objected Oriented Analysis and Design documents for a given task.

Course Prefix & No.: MC 503
Units: 3
Course Title: Mobile Software Development with JAVA
Prerequisite: C Programming Language
Course Description
The purpose of this course is to provide the graduate students with the fundamental aspects of Java programming from the basic to the advanced language features.

Topics covered in this course are: Java fundamentals (basic language syntax & constructs), Java’s implementation (classes, data, inheritance, array, and functional access control), GUI, object orientation design, 2D and 3D graphics drawing, event handling, Java class library, collection framework, XML, Eclipse for Java development, and Java debugging.

Learning outcomes of this course are students will be proficient in utilizing the basic concepts of Java programming to apply in Mobile computing, including graphics, multimedia, network, wireless, and enterprise applications.

Course Prefix & No.: MC 504
Units: 3
Course Title: Mobile System User Interface
Prerequisite: MC 500, MC 501, MC 502, MC 503
Course Description
The purpose of this course is to provide the graduate students with the fundamental concepts of user interface designs, and the Android libraries to support UI implementation.

Topics covered in this course are: User interface composition, Information display, Control and confirmation in user interface, Labels and indicators, Text and character input, Interactive controls, Input and selection, Audio and vibration, Screen, lights, and sensors.

Learning outcomes Students are able to acquire proficiency in 3 major areas in mobile system user interface: (1) information display, (2) information inputs, and (3) interactive controls.

Course Prefix & No.: MC 505
Units: 3
Course Title: Software Integration and Testing
Prerequisite: MC 500, MC 501, MC 502, MC 503
Course Description
The purpose of this course is to provide students with fundamental relationships between software testing and software quality assurance with an emphasis on testing as a part of software development life cycle. Students will learn methods of testing, practice verification and validation techniques such that they will develop comprehensive understanding of software quality and methodologies of quality assurance.

Topics covered in this course are: Cloud environment, Cloud enabled software testing, Context aware software testing, Performance analysis, Genetic algorithms, Web service testing, Continuous integration testing, Test vector generation, Large scale testing, Scalability, Mobile testbed.

Learning outcomes of this course are: Students are able to acquire proficiency in 4 major areas in mobile software testing: (1) cloud architecture, (2) context aware software testing, (3) web service testing, and (4) mobile application testbed.