課程目錄: 計(jì)算機(jī)科學(xué):有目的的編程培訓(xùn)

4401 人關(guān)注
(78637/99817)
課程大綱:

計(jì)算機(jī)科學(xué):有目的的編程培訓(xùn)

 

 

 

BASIC PROGRAMMING CONCEPTS

Why program? This lecture addresses that basic question.

Then it describes the anatomy of your first program and the process of developing a program in Java using either virtual terminals or a program development environment,

with some historical context. Most of the lecture is devoted to a thorough coverage of Java's built-in data types, with example programs for each.

CONDITIONALS AND LOOPS

The if, while, and for statements are Java's fundamental control structures.

This lecture is built around short programs that use these constructs to address important computational tasks.

Examples include sorting, computing the square root, factoring, and simulating a random process.

The lecture concludes with a detailed example illustrating the process of debugging a program.

ARRAYS

Computing with a large sequence of values of the same type is extremely common.

This lecture describes Java's built-in array data structure that supports such applications, with several examples, including shuffling a deck of cards,

the coupon collector test for randomness, and random walks in a grid.

INPUT AND OUTPUT

To interact with our programs,

we need mechanisms for taking information from the outside world and for presenting information to the outside world.

This lecture describes several such mechanisms: for text, drawings, and animation.

Detailed examples covered include fractal drawings that model natural phenomena and an animation of a ball bouncing around in the display window.

FUNCTIONS AND LIBRARIES

Modular programming is the art and science of breaking a program into pieces that can be individually developed.

This lecture introduces functions (Java methods),

a fundamental mechanism that enables modular programming.

Motivating examples include functions for the classic Gaussian distribution and an application that creates digital music.

 

RECURSION

 

A recursive function is one that calls itself.

This lecture introduces the concept by treating in detail the ruler function and (related) classic examples, including the Towers of Hanoi puzzle,

the H-tree, and simple models of the real world based on recursion. We show a common pitfall in the use of recursion,

and a simple way to avoid it, which introduces a different (related) programming paradigm known as dynamic programming.

 

PERFORMANCE

When you develop a program, you need to be aware of its resource requirements.

In this lecture, we describe a scientific approach to understanding performance,

where we develop mathematical models describing the running time our programs and then run empirical tests to validate them.

Eventually we come to a simple and effective

approach that you can use to predict the running time of your own programs that involve significant amounts of computation.

 

ABSTRACT DATA TYPES

 

In Java, you can create your own data types and use them in your programs. In this and the next lecture,

we show how this ability allows us to view our programs as abstract representations of real-world concepts.

First we show the mechanics of writing client programs that use data types. Our examples involve abstractions such as color, images,

and genes. This style of programming is known as object-oriented programming

because our programs manipulate objects, which hold data type values.

CREATING DATA TYPES

Creating your own data types is the central activity in modern Java programming.

This lecture covers the mechanics (instance variables, constructors, instance methods, and test clients) and then develops several examples,

culminating in a program that uses a quintessential mathematical abstraction (complex numbers)

to create visual representations of the famous Mandelbrot set.

PROGRAMMING LANGUAGES

We conclude the course with an overview of important issues surrounding programming languages.

To convince you that your knowledge of Java will enable you to learn other programming languages,

we show implementations of a typical program in C, C++, Python, and Matlab.

We describe important differences among these languages and address fundamental issues, such as garbage collection,

type checking, object oriented programming, and functional programming with some brief historical context.

主站蜘蛛池模板: 亚洲2022国产成人精品无码区| 亚洲综合小说久久另类区| 97在线视频精品| 日韩欧美成人免费中文字幕| 又粗又紧又湿又爽a视频| 91精品欧美综合在线观看| 日本高清不卡免费| 免费人成黄页在线观看视频国产| 884hutv四虎永久7777| 成年女人a毛片免费视频| 亚洲欧洲美洲无码精品VA| 调教奴性同桌h| 在线播放国产一区二区三区| 久久精品99无色码中文字幕 | 日本人与黑人xxxxx18| 免费一看一级毛片| 成人羞羞视频网站| 女人扒开屁股爽桶30分钟| 久久青草免费91线频观看不卡| 看Aⅴ免费毛片手机播放| 国产日韩精品中文字无码| www.色偷偷.com| 日韩一区二区三区无码影院| 人人妻人人澡av天堂香蕉| 青娱乐在线视频观看| 国内精品久久久久久久久齐齐| 久久99久久99精品免视看动漫| 欧美日韩电影在线| 又黄又骚的网站| 丁香婷婷六月天| 天堂网www在线观看| 久久久久亚洲AV无码麻豆| 欧美成人免费全部观看在线看| 双性h啪啪樱桃动漫直接观看| 欧美激情视频网| 夜夜爽夜夜叫夜夜高潮漏水| 久久久久亚洲av无码专区蜜芽 | 激情小说在线播放| 国产一级特黄高清免费大片| 3d动漫精品一区二区三区| 性无码专区无码|