- About Comp310
- Info page -- See link from home page.
- Goals of course
- Format of course
- Homework assignments
- Final Project
- Web page, resources, etc. See links above and use them!
- Labs: (see Canvas for location and info) LABS WILL BE HELD THIS
- If you have problems making it to a lab, contact a staff member
- Canvas site
- Laptops will generally be needed every day
- Resource pages:
- Class and lab attendance is mandatory!
- Attendance will be taken EVERY day and does count towards the final grade.
- Need to take notes!
- There will be a lot of material that is not on the
web pages for which are responsible!
- Materials are organized as reference materials, not
as lecture notes.
In general, the vast majority of questions on course content, assignments, etc. should be posed as PUBLIC posts to Piazza.
If unsure, refer the staff to a private post on the issue. You will be asked to make your private post public if it does not need to be private.
Contact the staff through private posts to the "Instructors" group in Piazza!
Do NOT send messages to individual staff members as the entrie staff needs to know the issues that are arising in the class.
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
- 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)
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
- 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.
- 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
- 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!
© 2020 by Stephen Wong