programmering, del I
File: devgui/ui/lang_sv.properties:
ui.welcome = “Välkommen till”
ui.course = “Gränssnitts- //
programmering, del I”
ResourceBundle rb =
ResourceBundle.getBundle(“devgui.ui.lang”);
String welcomeString = rb.getString(“ui.welcome”);
String courseString = rb.getString(“ui.course”);
Oops!
File: devgui/ui/lang_sv.properties:
ui.welcome = “Välkommen till”
ui.course = “Gränssnitts- //
programmering, del I”
ResourceBundle rb =
ResourceBundle.getBundle(“devgui.ui.lang”);
String welcomeString = rb.getString(“ui.welcome”);
String courseString = rb.getString(“ui.course”);
Internationalization!
File: devgui/ui/lang.properties:
ui.welcome = “Welcome to”
ui.course = “User interface //
programming, part I”
ResourceBundle rb =
ResourceBundle.getBundle(“devgui.ui.lang”);
String welcomeString = rb.getString(“ui.welcome”);
String courseString = rb.getString(“ui.course”);
programming, part I
Today
About the course
Registration
About examination
Access to code (SVN)
NetBeans as IDE
A little about Java and our requirements
Java questions?
Administration
Teacher
• Lars Oestreicher, room 1152
• Simon Tschirner, room 1157
• Mikael Laaksoharju, room 1157
Wiki-pages:
• http://www.it.uu.se/edu/course/homepage/devgui/vt11
• News, changes, assignments, literature
Student portal
• http://www.studentportalen.uu.se/
• Progress, assignment feedback as PDF, handouts
Course evaluation 2010
The good…
• Overall opinion about the course? (4.04)
• The course framing (the way the course was planned and executed (3.78)
• The course examination (4.37)
The bad…
• Want more lectures
• Some people were not used to Java
• Hard (or uneven) work
• No experience in group meetings, seminars
Course evaluation 2010
The good…
• Overall opinion about the course? (4.04)
• The course framing (the way the course was planned and executed (3.78)
• The course examination (4.37)
The bad…
• Want more lectures
• Some people were not used to Java
• Hard (or uneven) work
• No experience in group meetings, seminar
The ugly…(???)
• We will do our best to make a better course (always)
Changes
Try to make assignments even in work load
Clearer structure for group meetings
Preparatory tutorials
More support between meetings
Course aim
The course is about implementation and construction – not graphic design!
• The focus is on learning how to implement graphical user interfaces the ”right way”.
• Problem-based learning
• The course is 100% practically oriented; scientific theories provide the base, but we’ll learn it
through practical experience.
Goal of the course
After completing this course you will…
• Be able to implement a graphical user interface
• Understand how GUI:s update “automagically” if correctly implemented
• Know how to connect logic with presentation
• Be able to make your own graphic components, if it should be necessary
Requirements…
From you…
Lots of programming practice
Learning to program needs actual programming
Course setup
Group work
• Tools for group-based code development
• Similar to industry style of work
4 assignments
• New assignments handed out every second week
• Assignments turned in every second week
Literature
Examination
Practical experience (Learning by doing)
No written exam. Grade based on:
• The group’s overall result
• Presentation/documentation of solutions
• Individual diary
• Individual activity and shown understanding during group sessions
• Individual Interview
Grading
Use existing components from an interface library to build an interactive user interface
Be able to produce an interface that has support for several languages, by separating linguistic contents from program code
Separate a GUI's behavior from its appearance (MVC)
Produce responsive interface
Structure program code in a way so that the different parts of the code are independent of one another
To plan and create solutions where the visual presentation are independent of the underlying data structure
Present individual and group results in discussions and seminars
Weekly group sessions
45 min; probably 4 groups per meeting
Mandatory: if you are prevented from
attending, report this to Lars or Simon before the meeting
• You will get an extra assignment if not attending (writing a short paper about a specific topic)
Be prepared!
• Prepare any questions you might have
• Bring code, screenshots
Previous assignment results
Java
All programming will be performed in Java, with an editor and a compiler
• Suggestion: NetBeans (or Eclipse)
The user interface library - Java Swing
To get experienced in Java, it’s important with individual studies and hands-on practice
If you are less experienced in Java, an initial
effort will make everything a lot easier later
on – tutorials are listed!
Assignment Intro
Individual task:
Think…
• through how you imagine this application
you are encouraged to draw a sketch
• about your requirements for such a tool
• about how the functionality can be expressed in the interface
Important: Prepare any questions you have on the
Assignment 1
Overall project goal: a TODO-manager
• Refined during the 4 assignments
Deadline for assignment 1 is February 4.
• Basic. Should not be too difficult.
• Focus is on getting started with your team members and Java+SVN+IDE
• Check the course homepage for further instructions
SVN
Apache Subversion
Handles different versions of your files and
makes sure that everything is available at one place.
All of your code and other resources such as
icons must be checked into the group’s SVN.
Additional administration
Registration
Group
• 4 persons/group
Start to work early (today?).
We’ll try to get the SVN:s up and running as soon as possible.
• In the mean time, start planning the application!
• Assignment intro
Help
Want more lectures on special topics?
Ask!
Don’t hesitate to ask for help with compilation errors etc.
• Bring code: on paper, in laptop, in CVS
TODO
1. Think about the initial mini assignment!
Deadline: January 25
2. Make sure your tools are working
• SVN
• Java
• NetBeans, Eclipse