BU-EE

 

EE 497

 

Title:  JAVA PROGRAMMING

 

Credits: 3

Catalog Description:

Coordinator: H. Işıl Bozma, Professor of Electrical Engineering

Goals: This course is an introductory course to object-oriented programming and Java for EE undergraduates and graduate students. The objective of the course is to introduce the basics of object-oriented programming and get the students to an intermediate level of  competence in Java programming. The first three weeks of the course is devoted to explaining the principles of object-oriented programming. The rest of the course is then allocated to Java language basics,  design and development of applets and applications, GUI, event-handling, graphics, threads and multi-threading, IO streams and networking.

 

Learning Objectives:

What I expect the students to have learned at the end of the course are as follows:

  1. Fair competence in writing, compiling, debugging, and documenting Java software
  2. The basics of object-oriented programming
  3. Ability to implement intermediate level Java applets and applications to meet desired specifications

Textbook: -- No specific, any Java book.

 

Reference Texts:

  1. J. Jaworski,  Java 1.2 Unleashed, Sams, 1998 .
  2. D. Bailey, Java Elements, McGraw-Hill, 2000.

Other References

  1. Sun's Java tutorial
  2. Sun's Java API Documentation
  3. Writing compatible programs

Prerequisites by Topic: 

  • Programming: The students are expected to be familiar with one programming language.

Topics:

  1. Introduction – Java, JVM, JDK, Java Software Development (Week 1)
  2. Principles of OOP (Week 2)
  3. OOP Basics (Week 3)
  4. OOP Basics & Java (Week 4)
  5. Developing Java applications (Week 5)
  6. Java utils api (Week 6)
  7. I/0 Streams Input and output API’s (Week 7)
  8. Developing Java applets (Week 8)
  9. Java GUI (Week 9)
  10. Event - handling (Week 10)
  11. Swing Advanced GUI  components (Week 11)
  12. Threads (Week 12)
  13. Multithreading   -- Concurrent programming (Week 13)
  14. Networking – UDP and TCP (Week 14)
  15. What remains – Servlets, J2EE and EJB, RMI, Databases (Week 15)

Course Structure:  The class meets for two lectures a week --  one lecture consists of  a two-hour session and the second lecture is a one-hour.  The lectures are conducted in the Dağ Ozay computer classroom – where each student has a computer  on his/her desk.  The students are required to do 5  Java programming homeworks. There is also term project where the students work in groups of two of their own choosing and are asked to design and develop Java software for an engineering application.There is one open-book midterm and one final.

 

Computer Resources: Students use JDK and  Forte -- software installed in EE computer laboratories.  If they so desire, they may also use other development software.

 

Grading:

  1. HWs (35%)
  2. Term Project (15%)
  3. Quizzes (12%)
  4. Midterm (12%)
  5. Final (26 %)

Outcome Coverage:

  • An ability to design a system, component or process to meet the desired needs:  Design  Java software  with given specifications. The principles of Object Oriented Programming are presented. Java API’s (classes and their methods) are presented for regular mathematical programming as well as GUI’s, event-handling, developing concurrent programs, IO streams and networking.

  • An ability to identify, formulate and solve engineering problems:  Each topic is presented with the motivation of particular programming issues  – where the respective  Java classes and their associated  methods would need to be applied. The projects are also given with this in perspective. This is intended to prepare the students for  future projects involving Java and possibly other OOP  language-based   software design and development.

  • A knowledge of contemporary issues:   The issues that come up in  writing advanced software tools such as Graphical User Interfaces, multi-processes and networking are discussed. It is hoped that the students get a feel of the general trends in software  and related technologies.

  • Use of modern engineering tools. Students use  Java and JDK such as Forte for the development and implementation of their programs.

Prepared By: H. Işıl Bozma

 

Last Revised:  Oct 15, 2003

 

 

 
Boğaziçi Üniversitesi - Elektrik ve Elektronik Mühendisliği Bölümü
34342 - Bebek/İSTANBUL
Tel:+90 212 359 6414
Fax:+90 212 287 2465