Module 7

High-Level Programming, Platform-based Development / JavaScript Intro

Outline Chapter 8

Chapter 8 Abstract Data Types and Subprograms

8.1 What Is an Abstract Data Type?

8.2 Stacks

8.3 Queues

8.4 Lists

8.5 Trees

Binary Trees

Binary Search Trees

Other Operations

8.6 Graphs

Creating a Graph

Graph Algorithms

8.7 Subprograms

Parameter Passing

Value and Reference Parameters

Ethical Issues: Workplace Monitoring


Related FGCU Courses

http://icarus.fgcu.edu:8080/CourseDescriptions/

COP 2006 Introduction to Programming

SE & CIS Requirement

Introductory computer programming concepts and problem solving skills are learned using a modern programming language. Principles of good programming style are emphasized.

ISM 3053 Mobile App Development

DEVELOP INTERACTIVE CROSS-PLATFORM APPS THAT USES DATA INPUT TO DO SIGNIFICANT COMPUTING.


Lesson

Day One

  • Chapter questions review

  • Data type - The description of a set of values and the basic set of operations that can be applied to values.

  • Abstract data type (ADT) - a container whose properties (data and operations) are specified independently of any particular implementation

    • Stacks - lab question walkthrough

    • Queues - lab question walkthrough

    • Lists - lab question walkthrough

  • Trees

    • Binary Trees

    • Binary Search Trees

    • Other Operations

  • Graph Theory

  • Arrays

    • Subscripts / Index numbers


Day Two


Project Review

Web site creation

  • Awards

  • To do list

Project Preview

JS Introduction


Programming Languages (PL)

Programming languages are the medium through which programmers precisely describe concepts, formulate algorithms, and reason about solutions. In the course of a career, a computer scientist will work with many different languages, separately or together. Software developers must understand the programming models underlying different languages and make informed design choices in languages supporting multiple complementary approaches. Computer scientists will often need to learn new languages and programming constructs, and must understand the principles underlying how programming language features are defined, composed, and implemented. The effective use of programming languages, and appreciation of their limitations, also requires a basic knowledge of programming language translation and static program analysis, as well as run-time components such as memory management.

Topics:

  • Object-Oriented Programming

Platform-Based Development (PBD)

Platform-based development is concerned with the design and development of software applications that reside on specific software platforms. In contrast to general purpose programming, platform-based development takes into account platform-specific constraints. For instance web programming, multimedia development, mobile computing, app development, and robotics are examples of relevant platforms that provide specific services/APIs/hardware that constrain development. Such platforms are characterized by the use of specialized APIs, distinct delivery/update mechanisms, and being abstracted away from the machine level. Platform-based development may be applied over a wide breadth of ecosystems.

This knowledge unit describes the fundamental differences that Platform-Based Development has over traditional software development.

Introduction

This knowledge unit describes the fundamental differences that Platform-Based Development has over traditional software development.

Topics:

  • Overview of platforms (e.g., Web, Mobile, Game, Industrial)

  • Programming via platform-specific APIs

  • Overview of Platform Languages (e.g., Objective C, HTML5)

  • Programming under platform constraints

Learning Outcomes:

  1. Describe how platform-based development differs from general purpose programming. [Familiarity]

  2. List characteristics of platform languages. [Familiarity]

  3. Write and execute a simple platform-based program. [Usage]

  4. List the advantages and disadvantages of programming with platform constraints. [Familiarity]


Web Platforms

Topics:

  • Web programming languages (e.g., HTML5, Java Script, PHP, CSS)

  • Web platform constraints

  • Software as a Service (SaaS)

  • Web standards

Learning Outcomes:

  1. Design and Implement a simple web application. [Usage]

  2. Describe the constraints that the web puts on developers. [Familiarity]

  3. Compare and contrast web programming with general purpose programming. [Assessment]

  4. Describe the differences between Software-as-a-Service and traditional software products. [Familiarity]

  5. Discuss how web standards impact software development. [Familiarity]

  6. Review an existing web application against a current web standard. [Assessment]