COMP 310
Spring 2017
|
Lecture 01: Welcome to
Comp310!
|
|
Administrivia:
E-mail address to all Comp310 staff only:
comp310 at rice.edu
Please use this e-mail when communicating with the
staff. Do NOT e-mail individual staff members directly as this will only
delay a response.
Getting started:
Students should bring laptop to class every day!
If you do not have a laptop, please let the staff know
right away so that special arrangements can be made for you. You are
NOT required to own a laptop.
Need to install BY
NEXT LAB PERIOD:
- Java JDK
- Eclipse and all required
plug-ins
- Ecliple now comes with the WYSIWYG "WindowBuilder"
GUI builder -- "drag-and-drop" creation of user interfaces.
- UML Lab -- UML diagramming tool -- create
industry-standard class diagrams from code and vice versa.
- License info is found in the Canvas site, under
Modules/Tools and Resources/Software Configuration and Licensing
.
- Subclipse - Subversion source control --
Safely manage large codebases for individuals and teams, plus used for
turning in assignments.
- Be sure to be consistent about installing x86 (32-bit) vs x64 (64-bit)
versions!
If you are not sure how to do the installs or encounter
problems, contact the staff immediately!
Why so many tools?
Eclipse, UML Lab, WindowBuilder and Subclipse!
Good tools enable you to concentrate on the issues of the problem for which your
human mind is best suited and lets the computer do those parts that don't need
any real thought.
- Eclipse puts the focus on writing code and less on managing the
compiling cycle, organizing files and remembering method names, etc.
- WindowBuilder allows us to think about the visual and behavior design of our
user interfaces and not on the tedious code to get it done.
- UML Lab enables us to focus on the structure of and relationships in
our design and less on the syntax needed to define classes, methods and
fields.
- Subclipse makes the Subversion source control (SVN) capabilities an
integral part of the development process, allowing us to easily keep a
history of what was done and to share and synchronize our work with others.
When you use the SVN system in Comp310, you will never have to worry about
turning in your work because it will always be already turned in!
Tools are a double-edges sword though. They
can as easily obscure what is going on as illuminate it. In the end,
you should always know what your tool is doing and what it is not capable of
doing. A tool is your helper, not your crutch.
Why Comp310?
- OO training -- arguably the leading programming
paradigm used in desktop, web and enterprise applications.
- Experience with professional-grade tools
- Experience with larger projects
- Progression from the introductory year to the
more specialized upper division courses
- Comp310 vs. Comp215
- Change of focus from processing of data to the
operation of a system.
- Comp215: "Data" is contained in a
data structure and "algorithms" are used to process the data to
extract an "answer". The focus is on obtaining a
resultant data object.
- Comp310: A "world" is represented as a
system of interacting objects. "Results" are
simply visualizations/expressions of what the system
fundamentall already is. The focus is on the
behavior of the system in response to input data or
actions.
- Comp215 concentrates on representing data in
convenient data structures that allow mathematically-based
algorithmic processes to be easily performed.
- Comp310 concentrates on modeling of systems and
the abstraction of structures and behaviors plus the ways in which
objects communicate with each other.
- A major goal of Comp310 is to change the way in
which students view the world around them -- so pay close attention
to the philosophical aspects of the course, even you don't
immediately see the connection to the concrete programming aspects!
© 2017 by Stephen Wong