软件工程 MasterTrack™ 证书

Software Engineering MasterTrack™ Certificate

Gain a highly sought after skill set from the #1-ranked school for innovation in the U.S.

MasterTrack证书计算机软件开发
1012 次查看
亚利桑那州立大学
Coursera
  • 完成时间大约为 6 个月
  • 中级
  • 英语
注:本课程由Coursera和Linkshare共同提供,因开课平台的各种因素变化,以上开课日期仅供参考

你将学到什么

Use software design pattern concepts and models in designing a new software system

Understand how testing activities fit within leading software development process models

Apply popular tools, such as machine learning, security protocols, AI, and software testing, to validate safety security and sustainability of smart mobile applications

Learn how to interact with private blockchain ecosystems through writing and executing chaincodes

课程概况

Blend engineering, computing, project leadership, and software construction through a unique, project-driven curriculum.

Software engineering is needed in every industry and focuses on the application of techniques that ensure the successful completion of a high-quality product. Following a software process ensures that the final product is maintainable, reliable, and scalable.

No matter how technology advances, software testing will always be non-negotiable in any development project. Every week new stories emerge of software failing across a myriad of industries, halting businesses and causing losses of millions of dollars.

In this program, you’ll work on real-world projects to apply software development concepts to blockchain technology, test software to validate sustainability of smart mobile applications, predict software reliability using operational profiles, and practice software architecture and design principles.

By committing to online study for 4-6 months, you can earn the Software Engineering MasterTrack Certificate that will be a pathway to the online Master of Computer Science degree at Arizona State University.

包含课程

CSE 598: Advanced Software Analysis and Design

Software analysis and design proposes optimal software solutions to solve complex problems. In this hands-on course, students will apply methodologies, frameworks, and fundamentals and techniques of design, implementation, and software architecture to demonstrate real world applications. Main topics include object-oriented analysis and design, software architecture and design principles, quality attributes of software architecture, stakeholder perspectives and team approaches, mobile applications, service-oriented architecture and microservices-based web applications, and software engineering perspectives regarding robotics and autonomous systems.

Specific topics covered include:

• Nature of Software Systems
• Significance of Software Analysis and Design
• Object-Oriented Analysis and Design
• Software Architecture and Design Principles
• Quality Attributes of Software Architecture
• Architecting Mobile Applications
• Architecting Service-Oriented Architecture and Microservices-based Web Applications
• Architecting Robotics and Autonomous Systems

Learners completing this course will be able to:

• Evaluate software complexity and scale traits in modern software systems.
• Articulate software specification analysis and design concepts with foundations.
• Apply standardized structural and behavioral modeling methods and practices for software systems.
• Demonstrate engineering methodology in analysis and design of a model-based software system.
• Use software design pattern concepts and models in designing a new software system.
• Evaluate and apply appropriate software architecture functional and nonfunctional concepts, quality attributes, and styles in designing a new software system.
• Develop structural and behavioral specifications with advanced features using the Unified Modeling Language (UML), C4 Model for Software Architecture (C4), frameworks and tools.
• Apply appropriate architectural styles in designing and implementing software systems in different application domains including, but not limited to mobile, service-oriented, and autonomous and robotics systems.
• Develop, implement, and test consumer/producer style software systems using software design patterns.

CSE 598: Engineering Blockchain Applications

Blockchain technology is revolutionizing digitalization prospects for many industries and emerging as an exciting and rapidly growing field. By detailing the architecture of the technology, this course ensures that learners will be well versed in blockchain fundamentals. At the same time, it is designed to put learners on the leading edge by presenting the abstract nature of blockchain technology and emphasizing its broad applicability. Topics include the mathematical and cryptographic underpinnings of the technology, as well as mining, consensus protocols, networking, and decentralized governance. This course also features an extended case study called “How It Works at Dash.”

Learners completing this course will be able to:

• Apply the Elliptic Curve Digital Signature Algorithm to identity management and computer security
• Determine the validity of chains given general consensus rules
• Determine whether changes in consensus rules for a Nakamoto network will result in a successful protocol fork
• Compare proof of work secured blockchains’ security to alternate security methods
• Evaluate an optimal mix of network design and operational parameters to ensure network scalability and throughput
• Evaluate the trade-off between security and computational complexity

CSE 535: Mobile Computing

The goal of this course is to provide an in-depth understanding of the fundamental concepts and challenges in the area of mobile computing and study the existing and proposed solutions for these challenges from both a research and development perspective. Several topics, including mobile app development, wireless communication, mobile technology management, mobility tracking, context awareness, and programming applications on mobile systems, will be covered in this course. Course work will involve programming assignments, discussions, quizzes, and a project.

Specific topics covered include:

• Mobile programming
• Internet of Things (IoT)
• Edge and cloud computing
• Mobile networking
• Mobile information access
• Adaptive applications enabled by machine learning and AI
• Energy-aware systems
• Location-aware computing
• Mobile security and privacy

Learners completing this course will be able to:

• Design a context-aware application.
• Identify the advantages of using context in applications.
• Explore the challenges arising due to changes in the environment in which computation is performed.
• Identify relevant environment changes and analyze their causes, such as mobility, availability of data, and resource constraints.
• Define smartness and identify salient features that distinguish smart applications from traditional ones in the context of smart city, smart grid, smart transportation, smart mobile applications, and autonomous systems, such as autonomous cars.
• Describe key features of Internet of Things (IoT) and design a distributed smart application using IoT.
• Define cloud computing, crowdsourcing, volunteer computing, and other novel variants of pervasive computing.
• Analyze nonfunctional requirements of smart mobile applications, such as safety security sustainability.
• Apply popular tools, such as machine learning, security protocols, AI, and software testing, to validate. safety security and sustainability of smart mobile applications.
• Acquire programming skills on popular mobile platforms, such as Android.
• Develop, end-to-end, a sensor-enabled smart autonomous practical application.

面向人群

任何具有计算机科学本科教育或对计算机编程和编码有扎实基础知识的人。

课程项目

Analyzing Code Coverage

Create a set of test cases for code that determines the correct amount of change owed, if any, following the purchase of products from a vending machine. Learn how to execute the program with test cases and observe code coverage.

WHAT YOU WILL LEARN

Analyze testing needs to create a plan to achieve test objectives and, subsequently, create test cases to demonstrate system-level quality requirements are being met.

Sport Concussion Assessment

Develop an application to help medical practitioners monitor athletes for symptoms of concussion, utilizing key concepts including actors, use cases, use case diagrams, object identification, class diagram development, and Java implementation.

WHAT YOU WILL LEARN

Gather requirements for a software system using user scenarios and diagrams.

Modern Blockchain Application

Understand Hyperledger Fabric as a distributed ledger framework for developing applications for managing financial transactions, and learn to write chaincodes to handle business logic in the ledger.

WHAT YOU WILL LEARN

Learn about Hyperledger Fabric blockchain architecture and operation, and write software for encoded blocks to update the financial ledger.

Sign Language Recognition using Machine Learning

Develop a machine learning application that can recognize and classify hand gestures as one of several words in American Sign Language.

WHAT YOU WILL LEARN

Learn how to leverage machine learning techniques for analyzing images.

预备知识

了解以下主题:软件开发生命周期模型,面向对象的编程知识,软件过程模块和类图的基本知识。

千万首歌曲。全无广告干扰。
此外,您还能在所有设备上欣赏您的整个音乐资料库。免费畅听 3 个月,之后每月只需 ¥10.00。
Apple 广告
声明:MOOC中国十分重视知识产权问题,我们发布之课程均源自下列机构,版权均归其所有,本站仅作报道收录并尊重其著作权益。感谢他们对MOOC事业做出的贡献!
  • Coursera
  • edX
  • OpenLearning
  • FutureLearn
  • iversity
  • Udacity
  • NovoEd
  • Canvas
  • Open2Study
  • Google
  • ewant
  • FUN
  • IOC-Athlete-MOOC
  • World-Science-U
  • Codecademy
  • CourseSites
  • opencourseworld
  • ShareCourse
  • gacco
  • MiriadaX
  • JANUX
  • openhpi
  • Stanford-Open-Edx
  • 网易云课堂
  • 中国大学MOOC
  • 学堂在线
  • 顶你学堂
  • 华文慕课
  • 好大学在线CnMooc
  • (部分课程由Coursera、Udemy、Linkshare共同提供)

© 2008-2020 MOOC.CN 慕课改变你,你改变世界