没有合适的资源?快使用搜索试试~ 我知道了~
首页蓝鸟引导的Java初学者实战教程:视频笔记全面解析
蓝鸟引导的Java初学者实战教程:视频笔记全面解析
需积分: 13 18 下载量 110 浏览量
更新于2024-07-21
收藏 7.41MB PDF 举报
"《面向对象的第一步:使用BlueJ的实践入门(第5版)》是一本备受推崇的Java初学者教材。这本书以其非传统的教学方式,结合了BlueJ这款集成开发环境(IDE),为读者提供了一个直观且实践导向的学习体验。作者以一种易于理解的方式引导读者从设计到编码,逐步掌握编程核心概念和技术。 该书赠送的六个月预付视频笔记是Pearson教育公司推出的新工具,旨在增强学习效果。视频笔记系列称为"JEFoNotes",它们采用短小精悍的步骤式教学,通过演示如何解决实际问题,帮助学生在自己的节奏下进行学习。每个视频笔记都具备导航功能,允许用户选择、播放、倒退、快进或暂停,以便深入理解和实践。 为了访问这些视频笔记,你需要首先刮开学生访问码的涂层,切记避免使用尖锐物品以防损坏。然后,你需要登录到官方网站<http://www.pearsonhighered.com>,使用一台连接互联网的电脑和网页浏览器完成一次性的注册过程,这个过程只需几分钟时间。 初次访问时,你需要输入你的学生访问码以激活对《面向对象的第一步:使用BlueJ的实践入门(第5版)》视频笔记的全访问权限。这将为你提供一个系统化的学习路径,适合那些希望通过互动式多媒体资源提升Java编程技能的初学者。这本书和配套的在线资源旨在打造一个全面且有效的Java学习环境,使读者能够扎实地建立起面向对象编程的基础。"
资源详情
资源推荐
Preface
New to the fifth edition
This is the fifth edition of this book and we have taken the opportunity to incorporate
several significant changes from previous editions.
■
Java 7 features have been incorporated where appropriate
● The “diamond notation” (generic type inference) is covered when introducing generics.
● Coverage of appropriate new classes from the nio package for I/O.
● Strings are shown in switch statements.
● The new exception handling syntax is covered, including multi-catch and try-
with-resources.
■
New engaging projects using music files and social media have been added throughout
the book. Many other examples have been changed, updated and improved.
■
Unit testing is now based on JUnit 4.
■
BlueJ version is 3.0.5 is available on the accompanying DVD. This version includes
scope coloring, JUnit 4, and Java 7 support.
■
Includes VideoNotes—short video tutorials to reinforce key concepts throughout the book.
■
Expanded coverage of collections and iteration in Chapter 4 .
■
Access to the Blueroom, a BlueJ instructor community and forum designed for
resource sharing and collaboration with the authors and other instructors teaching
using BlueJ.
Some of these changes are the result of the introduction of language changes in Java 7.
We discuss diamond notation, use of strings in switch statements, changes to exception
handlers, and some of the nio classes, for instance. But the examples can still be used by
those who have not upgraded to Java 7, yet.
The majority of the changes in this edition, however, are the result of the nearly ten years
of experience we have now developed from using this material with our students, along
with feedback from our fellow instructors and readers. A particular example is the expan-
sion of the coverage of collections and iteration in Chapter 4 , but there are many other
smaller expansions where we have sought to clarify topics needing a little more explana-
tion. We have also changed the order of Chapters 6 and 7 to give a flow of topics that fits
more comfortably into a single semester for the first half of the book.
Preface
|
xv
We have introduced several new projects to freshen up our coverage of existing topics.
These include a music-file organizer in Chapter 4 , an online shop in Chapter 7 , and a so-
cial network in Chapters 8 and 9 .
Nevertheless, the distinctive concept and style of this book, that have been there from the
beginning, remain unchanged because, overall, the book seems to be “working”.
Feedback we received from readers of prior editions was overwhelmingly positive, and
many people have helped in making this book better by sending in comments and sug-
gestions, finding errors and telling us about them, contributing material to the book’s web
site, contributing to the discussion forum, or translating the book into foreign languages.
This book is an introduction to object-oriented programming for beginners. The main focus of
the book is general object-oriented and programming concepts from a software engineering
perspective.
While the first chapters are written for students with no programming experience, later chapters
are suitable for more advanced or professional programmers as well. In particular, programmers
with experience in a non-object-oriented language who wish to migrate their skills into object
orientation should also be able to benefit from the book.
We use two tools throughout the book to enable the concepts introduced to be put into practice:
the Java programming language and the Java development environment BlueJ.
Java
Java was chosen because of a combination of two aspects: the language design and its popular-
ity. The Java programming language itself provides a very clean implementation of most of the
important object-oriented concepts, and serves well as an introductory teaching language. Its
popularity ensures an immense pool of support resources.
In any subject area, having a variety of sources of information available is very helpful, for
teachers and students alike. For Java in particular, countless books, tutorials, exercises, com-
pilers, environments, and quizzes already exist, in many different kinds and styles. Many of
them are online and many are available free of charge. The large amount and good quality
of support material makes Java an excellent choice as an introduction to object-oriented
programming.
With so much Java material already available, is there still room for more to be said about it?
We think there is, and the second tool we use is one of the reasons…
BlueJ
The second tool, BlueJ, deserves more comment. This book is unique in its completely inte-
grated use of the BlueJ environment.
xvi
|
Preface
BlueJ is a Java development environment that is being developed and maintained by the
Computing Education Research Group at the University of Kent in Canterbury, UK, explicitly
as an environment for teaching introductory object-oriented programming. It is better suited to
introductory teaching than other environments for a variety of reasons:
■
The user interface is much simpler. Beginning students can typically use the BlueJ environ-
ment in a competent manner after 20 minutes of introduction. From then on, instruction can
concentrate on the important concepts at hand—object orientation and Java—and no time
needs to be wasted talking about environments, file systems, class paths, or DLL conflicts.
■
The environment supports important teaching tools not available in other environments. One
of them is visualization of class structure. BlueJ automatically displays a UML-like diagram
representing the classes and relationships in a project. Visualizing these important concepts
is a great help to both teachers and students. It is hard to grasp the concept of an object when
all you ever see on the screen is lines of code! The diagram notation is a simple subset of
UML, again tailored to the needs of beginning students. This makes it easy to understand,
but also allows migration to full UML in later courses.
■
One of the most important strengths of the BlueJ environment is the user’s ability to
directly create objects of any class, and then to interact with their methods. This creates the
opportunity for direct experimentation with objects, with little overhead in the environment.
Students can almost “feel” what it means to create an object, call a method, pass a parameter,
or receive a return value. They can try out a method immediately after it has been written,
without the need to write test drivers. This facility is an invaluable aid in understanding the
underlying concepts and language details.
■
BlueJ includes numerous other tools and characteristics that are specifically designed for
learners of software development. Some are aimed at helping with understanding fundamen-
tal concepts (such as the scope highlighting in the editor), some are designed to introduce
additional tools and techniques, such as integrated testing using JUnit, or teamwork using
a version control system, such as Subversion, once the students are ready. Several of these
features are unique to the BlueJ environment.
BlueJ is a full Java environment. It is not a cut-down, simplified version of Java for teaching.
It runs on top of Oracle’s Java Development Kit, and makes use of the standard compiler and
virtual machine. This ensures that it always conforms to the official and most up-to-date Java
specification.
The authors of this book have many years of teaching experience with the BlueJ environment
(and many more years without it before that). We both have experienced how the use of BlueJ
has increased the involvement, understanding, and activity of students in our courses. One of
the authors is also a developer of the BlueJ system.
Real objects first
One of the reasons for choosing BlueJ was that it allows an approach where teachers truly
deal with the important concepts first. “Objects first” has been a battle cry for many textbook
authors and teachers for some time. Unfortunately, the Java language does not make this noble
goal very easy. Numerous hurdles of syntax and detail have to be overcome before the first
Preface
|
xvii
experience with a living object arises. The minimal Java program to create and call an object
typically includes
■
writing a class;
■
writing a main method, including concepts such as static methods, parameters, and arrays in
the signature;
■
a statement to create the object (“new”);
■
an assignment to a variable;
■
the variable declaration, including variable type;
■
a method call, using dot notation;
■
possibly a parameter list.
As a result, textbooks typically either
■
have to work their way through this forbidding list, and only reach objects somewhere
around Chapter 4 ; or
■
use a “Hello, world”-style program with a single static main method as the first example,
thus not creating any objects at all.
With BlueJ, this is not a problem. A student can create an object and call its methods as the
very first activity! Because users can create and interact with objects directly, concepts such as
classes, objects, methods, and parameters can easily be discussed in a concrete manner before
looking at the first line of Java syntax. Instead of explaining more about this here, we suggest
that the curious reader dip into Chapter 1 —things will quickly become clear then.
An iterative approach
Another important aspect of this book is that it follows an iterative style. In the computing
education community, a well-known educational design pattern exists that states that important
concepts should be taught early and often.
1
It is very tempting for textbook authors to try and
say everything about a topic at the point where it is introduced. For example, it is common,
when introducing types, to give a full list of built-in data types, or to discuss all available kinds
of loop when introducing the concept of a loop.
These two approaches conflict: we cannot concentrate on discussing important concepts first,
and at the same time provide complete coverage of all topics encountered. Our experience with
textbooks is that much of the detail is initially distracting, and has the effect of drowning the
important points, thus making them harder to grasp.
In this book we touch on all of the important topics several times, both within the same chapter
and across different chapters. Concepts are usually introduced at a level of detail necessary for
1
The “Early Bird” pattern, in J. Bergin: “Fourteen pedagogical patterns for teaching computer science”,
Proceedings of the Fifth European Conference on Pattern Languages of Programs (EuroPLop 2000),
Irsee, Germany, July 2000.
xviii
|
Preface
understanding and applying the task at hand. They are revisited later in a different context, and
understanding deepens as the reader continues through the chapters. This approach also helps to
deal with the frequent occurrence of mutual dependencies between concepts.
Some teachers may not be familiar with an iterative approach. Looking at the first few chapters,
teachers used to a more sequential introduction will be surprised about the number of concepts
touched on this early. It may seem like a steep learning curve.
It is important to understand that this is not the end of the story. Students are not expected
to understand everything about these concepts immediately. Instead, these fundamental con-
cepts will be revisited again and again throughout the book, allowing students to get a deeper
and deeper understanding over time. Since their knowledge level changes as they work their
way forward, revisiting important topics later allows them to gain a deeper understanding
overall.
We have tried this approach with students many times. It seems that students have fewer prob-
lems dealing with it than some long-time teachers. And remember: a steep learning curve is not
a problem as long as you ensure that your students can climb it!
No complete language coverage
Related to our iterative approach is the decision not to try to provide complete coverage of the
Java language within the book.
The main focus of this book is to convey object-oriented programming principles in general,
not Java language details in particular. Students studying with this book may be working as
software professionals for the next 30 or 40 years of their life—it is a fairly safe bet that the
majority of their work will not be in Java. Every serious textbook must of course attempt to pre-
pare them for something more fundamental than the language flavor of the day.
On the other hand, many Java details are important for actually doing the practical work. In
this book we cover Java constructs in as much detail as is necessary to illustrate the concepts at
hand and implement the practical work. Some constructs specific to Java have been deliberately
left out of the discussion.
We are aware that some instructors will choose to cover some topics that we do not discuss
in detail. That is expected and necessary. However, instead of trying to cover every possible
topic ourselves (and thus blowing the size of this book out to 1500 pages), we deal with it
using hooks . Hooks are pointers, often in the form of questions that raise the topic and give
references to an appendix or outside material. These hooks ensure that a relevant topic is
brought up at an appropriate time, and leave it up to the reader or the teacher to decide to
what level of detail that topic should be covered. Thus, hooks serve as a reminder of the
existence of the topic, and as a placeholder indicating a point in the sequence where discus-
sion can be inserted.
Individual teachers can decide to use the book as it is, following our suggested sequence, or to
branch out into sidetracks suggested by the hooks in the text.
Chapters also often include several questions suggesting discussion material related to the
topic, but not discussed in this book. We fully expect teachers to discuss some of these ques-
tions in class, or students to research the answers as homework exercises.
剩余577页未读,继续阅读
TTransposition
- 粉丝: 733
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功