MATHEMATICS (TURKISH, PHD)
PhD TR-NQF-HE: Level 8 QF-EHEA: Third Cycle EQF-LLL: Level 8

Course Introduction and Application Information

Course Code Course Name Semester Theoretical Practical Credit ECTS
VCD3126 Computer Programming for Interaction Fall 3 0 3 5
The course opens with the approval of the Department at the beginning of each semester

Basic information

Language of instruction: En
Type of course: Departmental Elective
Course Level:
Mode of Delivery: Face to face
Course Coordinator : Assist. Prof. ECE ARIHAN
Course Objectives: This course aims to introduce the basic concepts of contemporary computer programming languages to students who are interested in interactive media. Since the target audience is expected to have no prior experience on programming, major concepts of programming will be taught through projects with visual programming tools. At the end of the course, students will be able create working prototypes for interactive media, collaborate with programming experts through a common terminology and develop further skills in any programming environment by autodidact methods.

Learning Outputs

The students who have succeeded in this course;
1) Define fundamental concepts of contemporary programming languages.
2) Apply programming skills to create interactive media.
3) Analyze and evaluate programming documentation to support software development.
4) Execute code using good programming practices.
5) Design a programming project by planning and organizing its workflow.
6) Use technical terminology to collaborate effectively with programmers and software engineers.

Course Content

The course employs two methods to deliver the learning outcomes. Lectures and classwork samples are used to explain programming environments, major concepts in programming languages and the use of documentation. Individual project assignments are used to asses the learning outcomes as well as developing skills on planning and executing a programming project.
At the beginning of the course, Scratch, which is a visual programming developed by MIT will be used to deliver basic programming concepts avoiding the difficulties of learning syntax in code based programming languages. Afterward, procedural programming will be utilized to gain coding skills which will be used on further projects.
Teaching Methods: Lecture, Individual Study, Discussion, Project, Implementation, Technology-Enhanced Learning

Weekly Detailed Course Contents

Week Subject Related Preparation
1) Introducing the programming concepts Using “Scratch” of MIT as a visual programming tool. Classwork examples to learn about sprites, sequencing, iteration (looping), conditional statements, variables, lists (arrays), event handling, threads,dynamic interaction(parallel execution),coordination and synchronization,keyboard input, random numbers, boolean logic.
2) Classwork 1: Programming a simple game application with Scratch Variables, operators, conditions and loops Assignment 1: Develop a basic application idea to be applied with Scratch, sequence the flow on paper Overviewing the Scratch documentation and installing software for personal use.
3) Classwork 2: Presentation of application ideas and flows. Assignment 2: Developing the scratch application. Develop a basic application idea to be applied with Scratch, sequence the flow on paper
4) Object names, syntax, best practices in programming, debugging Classwork 3: “Magnifier with mask” Preparing the visual material for the application to be coded in "Magnifier with mask" classwork.
5) Operators and conditional statements, Variables, arrays and data types Classwork 4: “Running rabbit” game, Random color change Read the chapter "Data types" in "Nathan Derksen and Jeff Berg, 2006, Beginning ActionScript 2.0,, Wiley Publishing, Inc., Indianapolis, Indiana"
6) Setting up a flash project MovieClips methods, properties, events. Creating movieClips on the fly, attaching MovieClips from library, textfields Assignment 3: Create the interface objects for a “click and pick” game. Examining the movieClip object on Adobe Flash documentation
7) Functions Classwork 5: “Click and pick” game. Assignment 3: “Score function for the click and pick game”
8) Interacting with the user, event listeners, external AS files. Classwork: Importing the “ideo-multitouch” client for AS2 Assignment 4: Develop an idea for a multitouch “click and pick” game.
9) Classes Classwork 6: “Click and pick” game for multitouch. Assignment 4: Finalize the mulitouch game
10) Handling the text, date class Classwork 7: “Desktop clock and calendar” Assignment 5: Develop a novel idea for a clock which visualizes the time.
11) Working with the sound Attaching sound to movieclip Classwork 8: Adding sound to “Click and pick” game Assignment 5: Coding the “novel clock” with sound
12) Working with microphone input Classwork 9: random color change triggered with microphone input
13) Working with camera input Classwork 10: Detect motion through camera to trigger sound and random color change Final Assignment: Develop an application idea using mulitouch input, microphone input and/or camera input. Design the application flow on paper. Design interface mock-ups for presentation
14) Presentation of ideas for final assignment Final assignment: Develop the application with multitouch input, camera input and/or microphone input. Classes Classwork 6: “Click and pick” game for multitouch. Assignment 4: Finalize the mulitouch game

Sources

Course Notes: Nathan Derksen and Jeff Berg, 2006, Beginning ActionScript 2.0,, Wiley Publishing, Inc., Indianapolis, Indiana
References:

Evaluation System

Semester Requirements Number of Activities Level of Contribution
Attendance % 0
Laboratory % 0
Application 10 % 20
Field Work % 0
Special Course Internship (Work Placement) % 0
Quizzes % 0
Homework Assignments 5 % 40
Presentation % 0
Project % 0
Seminar % 0
Midterms % 0
Preliminary Jury % 0
Final 1 % 40
Paper Submission % 0
Jury % 0
Bütünleme % 0
Total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
Total % 100

ECTS / Workload Table

Activities Number of Activities Workload
Course Hours 14 42
Laboratory
Application
Special Course Internship (Work Placement)
Field Work
Study Hours Out of Class
Presentations / Seminar
Project
Homework Assignments 15 83
Quizzes
Preliminary Jury
Midterms
Paper Submission
Jury
Final
Total Workload 125

Contribution of Learning Outcomes to Programme Outcomes

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) Be able to organize events, for the development of critical and creative thinking and problem solving skills, by using appropriate methods and techniques.
2) Ability to make individual and team work on issues related to working and social life.
3) Ability to transfer ideas and suggestions, related to topics about his/her field of interest, written and verball.
4) Ability to use mathematical knowledge in technology.
5) To apply mathematical principles to real world problems.
6) Ability to use the approaches and knowledge of other disciplines in Mathematics.
7) Be able to set up and develope a solution method for a problem in mathematics independently, be able to solve and evaluate the results and to apply them if necessary.
8) To be able to link abstract thought that one has to concrete events and to transfer the solutions and examine and interpret the results scientifically by forming experiments and collecting data.