Course syllabus

Important message regarding DIT042 teaching in Autumn 2020

Dear students,
 
Due to the ongoing Corona crisis, we are currently exploring how teaching can happen in a safe way.
The following decision are already made about DIT042:
  • All lectures will be online (either as recording or live sessions).
  • All supervision sessions with your teaching assistants (TAs) will be through video call
    • (with a possibility to meet up in person if group, examiner and TA both agree to)
  • All course activities will happen considering Stockholms timezone.
  • There will be likely some elements that are optional and on campus. However, all events will be replicated online. Thus, it will be possible to follow the course fully remotely.
Kind regards,
Francisco Gomes
Course Examiner.

Course-PM

DIT042 Object-oriented programming lp1 HT20 (7.5 hp)

Course is offered by the department of Computer Science and Engineering. More details about course schedule and content will be released by August 17th, 2020.

Programming (or development or coding) is the act of realising solutions to computing problem, i.e., programs, using a programming language. It involves the design, realisation, testing, troubleshooting, and maintenance of program code, in a programming language, on top of of some programming platform, by the help of a development environment.

Contact details

Examiner / Teacher: Francisco Gomes de Oliveira Neto (francisco.gomes@cse.gu.se)

Teaching Assistants: TBD

For registrations and other student-related questions, contact student office: student_office.cse@chalmers.se

Course purpose

The course introduces the student to a contemporary object-oriented programming language with associated platforms and environments, with emphasis on basic programming language concepts, object oriented concepts, and elementary data structures. For this version, we will use Java as the main programming language during lectures, exercises, assignments and exam. Examples of topics covered in this course are:

  • Programming basics: Types, input/output, conditional loops, arrays, scope, etc.
  • Object-oriented programming: Classes, objects, polymorphism, inheritance, interfaces.
  • Java APIs, good practices in OO and Java programming, Exceptions, I/O streams.

Schedule

Details can be found on our Course Home Page

The main book for the course is:

Book_Cover_HeadFirst.jpg

Head First: Java.
by Kathy Sierra, Bert Bates
ISBN-13: 978-0596009205
ISBN-10: 0596009208

2nd Edition. (2005)

Extra material (slides, assignments, video tutorials, etc.) will be made available through Canvas during the course. In case you want an additional book to use during the course, we can recommend the book below.

Book_Cover_IntroProgramming.jpg

Introduction to Java Programming and Data Structures, Comprehensive.
by Daniel Liang
ISBN-13: 978-0134670942
ISBN-10: 0134670949

11th Edition (2017)

Learning objectives and syllabus

Learning objectives:

On successful completion of the course the student will be able to: 

Knowledge and understanding:

  • explain basic programming language concepts, e.g., statements, expressions, operators, types, control flow constructs, argument passing, method calls and exception handling,
  • explain object-oriented concepts, e.g., objects, methods, classes and inheritance,
  • explain the meaning and use of elementary data structures, e.g., strings and arrays,

Skills and abilities:

  • develop small (up to 5000 lines of code) software applications in an object-oriented programming language using a modern development environment,
  • structure the program into separate parts that can be implemented independently in a practicable way, 

Judgement and approach:

  • evaluate the comprehensibility of a program, e.g., using class coupling, class cohesion and method cohesion,
  • assess the impact of errors in software development.

 

Course summary:

Date Details Due