Home
Overview
This class is intended to give students an introduction to concepts in modern programming languages, using Java as a tool for demonstrating basic ideas in computer science like asymptotic complexity, various data structures, object-oriented programming, and some elements of software engineering. Coming out of this class it is hoped, that you will be taught not just how to program Java but also how to program.
Logistics
Lectures: Tuesdays, Lab III (BIT Lab), BIT Students: 10.00am-11.30am, BCS and BCE Students: 11.30am-1.00pm
Lab Sessions: Tuesdays and Wednesdays, 12-1
You are not only expected to attend lectures but to learn the materials presented in lecture. Lecture slides will be available on the web. Please ask questions and ask for additional clarifications and examples in the lab sessions if you need additional explanation.
Instructor
Melissa R. Ho, PhD Candidate
University of California, Berkeley
School of Information
Office Hours: Tuesdays 3-5pm, or by appt.
Grading
weighting is subject to change
- Participation – 2%
- Assignments – 8%
- Class Project – 5%
- Midterm – 15%
- Final – 70%
Participation
You are expected to participate in class by attending lectures and lab sessions regularly, paying attention, participating in the class blog, and working with your classmates on class assignments.
Assignments will be posted on this website, answers to which are to be handed in by the beginning of lecture on the day that they are due. Answers will be posted by the end of the day, which you will verify yourself. Make sure to make keep a copy for yourself of the papers you hand in, although, we will hand it back to you once we have verified that you have handed it in. If you find that you have trouble understanding the solutions, you should consult with your lab assistants, ask questions in class, or see me during office hours until you understand the concepts in the exercises thoroughly. You will be tested on the same types of questions in the exams and expected to be able to complete them without assistance. Feel free to talk to your classmates on these exercises – but make sure to learn how to do them on your own, and don’t copy each other’s solutions! You may submit assignments with a partner, but you are not obligated to work with anyone. If you work with a partner, please hand in only one copy of the assignment and mark clearly both of your names and registration numbers on the assignment. You can also post any questions as comments on this blog. However – please refrain from posting answers! All assignments should be clearly marked with your name, registration number, and email address.
There will be one graded group class project, in which you will work in groups of up to 6 on a programming assignment, in which you will apply the concepts you have learned in class to develop an application. The top working projects from class will be posted on the class website. You can choose to develop either a web application (a java applet) or a mobile j2me application to be run on a google android phone or other java-capable phone. However, if you choose the latter two options, you will have to learn how to do the development on your own, outside of class.
Plagiarism (i.e. copying or xeroxing) on graded assignments is not tolerated. Each group is expected to turn in their own work, and any group found to be copying their assignment code from another will result in both groups getting zero marks for the assignment. Multiple episodes of plagiarism will result in disciplinary action and will constitute failure of the course.
Recent Comments