Sei sulla pagina 1di 2

Concentrations in Service Science

Declaration: Service-Oriented Information Technology (SOIT)

1. Description:

A. The essence for service science (the importance for service science)

- Service delivery: using IT to automate, support and deliver services to consumers, enterprise and society.

- Technology entrepreneurship: foster the spirit of IT startup and rapid development.

- Modern practice: adopt the latest technology and methodology, and gain a self-learning spirit.

- Open philosophy: encourage students to use and contribute to open-source and open-education.

B. The key concepts, techniques, and capabilities delivered

- Key concepts: design science methodology, service-oriented architecture, cryptographic principles,

quality-of-service, inductive learning principles.

- Key techniques: distributed coding and version control, service quality and security management apps, cloud

deployment and SaaS development, data/text mining techniques, mobile apps development, test-driven/behavior-driven development.

- Key capabilities: modern programming skills, software system development, techniques to enable service system intelligence.

C. The learning goals

- Students can design and implement IT-enabled service software systems.

- Students can understand service quality and security related issues in IT-enabled service systems.

- Students can adopt cloud and mobile technologies to develop IT-enabled software systems.

- Student can use data/text mining related techniques to enhance the intelligence of e-services.

D. Potentials for academic and industry careers

- IT entrepreneur: adopt lean development tools and methods to bootstrap an IT startup.

- IT-enabled service designer: use design-science to give a design capability to IT-enabled services.

- IT project manager: use modern development methodology to track, analyze, and plan IT projects.

- IT Service developer: create robust software using modern development tools and methodology.

2. Preparation (guidelines for students who intend to take SOIT courses)

Students who have previously taken some computing classes, such as introduction to computer science, any programming language classes, databases, etc., are welcome to take courses in this concentration to claim their IT expertise in academic and industrial careers. However, our classes will be intensive and we strongly recommend students to strengthen their prerequisite skills before enrolling in the ISS program.

Possible preparation for students during the summer include:

- Take online courses to learn some of the computing tools/techniques we will use in ISS classes.

- Work with an ISS instructor on a simple development project over the summer.

- Try to develop a useful app from scratch to completion by yourself — share it on Github/Heroku or a mobile app store for us to see!

3. Constituent Courses (must complete at least four classes to fulfill module)

Course

Learning objectives

Couse outlines

Service-Oriented Architecture (SOA)

Consuming, delivering, orchestrating, and composing IT services

-

Distributed coding and version control Object enumeration, serialization and marshalling Service controllers: RESTful API, event logging Service views: Web, mobile, SNS, Google analytics Service resources: database, computational, 3rd party services, DOM traversal Cloud deployment, SaaS, create open-source SDK Enterprise architecture design patterns Workflows and messaging

(Fall Semester)

- IT architectures for business processes

- Creating flexible, scalable systems

Adopting modern practices in distributed development

-

Prerequisites: Object-oriented programming, Databases, HTML/CSS Recommended: Systems analysis and design

Tools: Ruby, Haml, CSS, JSON, BPMN, Git, Github, Heroku, IronMQ, Amazon AWS

Security for

-

Develop software with secure qualities:

-

Cryptographic principles: information theory,

IT Services

confidentiality, integrity, authentication,

error-checking, ciphers, hashing, trust models

(Spring Semester)

authorization, availability, nonrepudiation

- Model secure systems, policies

Secure software: certificates, tokens, OAuth, testing, refactoring, protocols, benchmarking, testing and behavior driven development

-

- Interpret security news and derive

knowledge about systems

Understand tradeoffs between security philosophies and practices

-

Discretionary and mandatory policies: Biba, Bell LaPadula, Brewer-Nash, etc.; lattice modeling

-

Configuring robust network software: DMZs, memcached, load balancing, etc.

-

Prerequisites: Any programming language Recommended: Service-Oriented Architecture

Tools: Ruby, Git, Heroku

Mobile Technology and Applications

-

Understand scheme of mobile computing

- User interface widgets

Understand mobile user interface design and special considerations

-

- Data store (system/file/database)

(Fall Semester)

- Collecting data from external world

- Understand IPC mechanism

- Exchanging data with other mobile devices

- Understand data persistence mechanism

- Calling external process

- Can code to interact with IoT devices

- Runnable threads

- Can code to integrate back-end systems

- Service process

- Test Driven Design

Prerequistes: Java, Linux, HTML

Tools: Android, Java, Eclipse

Text Mining

Ability to process text documents to extract features.

-

- From text to structure data

(Spring Semester)

- Classification and clustering

Ability to understand text mining technique for data analytics

-

- Link analysis

- Sentiment analysis

Ability to implement text mining systems fo e-service applications.

-

- Text summarization

Examples of application domains: patent analysis, market sensing, tech mining, event tracking

-

Prerequisites: Linear algebra, any programming language

Tools: Python

Cloud Programming

-

Understand data analytic platform,

- Apache Hadoop data analytic software stack

(Spring Semester)

software stack and tools for cloud computing and big data processing.

- Implement MapReduce algorithms, applications

- MapReduce advanced scheduling & optimization

-

Perform MapReduce on data problems

- Query processing optimization

Prototype data analytic software applications

-

Prerequisite: Any programming language

BDAS (Berkeley Data Analytic System) in-memory computing

-

Tools: Hadoop