Difference between revisions of "BSc: Introduction To Programming II"

From IU
Jump to navigation Jump to search
Line 21: Line 21:
 
== Prerequisites ==
 
== Prerequisites ==
   
  +
* Philosophy 1: Logic and Discrete Mathematics
* Discrete Math/Logic
 
 
* Introduction to Programming I
 
* Introduction to Programming I
   

Revision as of 09:41, 2 December 2021

Introduction to Programming II

  • Course name: Introduction to Programming II
  • Course number: XYZ
  • Knowledge area: Programming Languages and Software Engineering

Administrative details

  • Faculty: Computer Science and Engineering
  • Year of instruction: 1st year of BS
  • Semester of instruction: 2nd semester
  • No. of Credits: 4 ECTS
  • Total workload on average: 144 hours overall
  • Class lecture hours: 2 per week
  • Class tutorial hours: 2 per week
  • Lab hours: 2 per week
  • Individual lab hours: 0
  • Frequency: weekly throughout the semester
  • Grading mode: letters: A, B, C, D

Prerequisites

  • Philosophy 1: Logic and Discrete Mathematics
  • Introduction to Programming I

Course outline

Introduction to Programming II is the continuation of an introductory course to programming. It teaches in a more in-depth look at programming and at the development of software. The course is project oriented and it focusses on problem-solving and how to program well. Students will learn how to master the fundamental control structures, data structures, reasoning patterns and programming language mechanisms characterizing modern programming, as well as the fundamental rules of producing high-quality software. The course also introduces functional programming.

Expected learning outcomes

After taking the course, students will

  • master the fundamental rules of producing high-quality software.
  • acquire in-depth programming background
  • use higher-order functions to improve readability and efficiency of programs
  • effectively decompose simple programming problems
  • debug and test programs.

Expected acquired core competences

  • Object oriented programming
  • Programming concepts and skills

Textbook

  • Bertrand Meyer: Touch of Class, Learning to Program Well with Objects and Contracts, Springer 2009, ISBN: 978-3-540-92144-8

Reference material

Lecturing and lab slides and material will be provided

Required computer resources

Students should have laptops with basic software for reading and editing document.

Evaluation

  • Course Project (50%)
  • Final Exam (40%)
  • Class and lab participation (10%)