2. Instructor
Name: Dr. Hakem Beitollahi
Born date: 1980
Born Place: Oshnaviyeh, west
Azerbijan, Iran
Education:
Bachelor of computer engineering
(Hardware branch)
University of Tehran, Iran
Master of computer engineering
(Computer Architecture)
Sharif university of technology, Iran
PhD in Computer engineering
University of Leuven, Belgium
Contact me:
Hakem.Beitollahi@soran.edu.iq Administrative — 2
3. Objectives of the course
Upon successful completion of the course,
students will develop:
Design methods in C# classes
Create arrays and collections in C# to store and
access data of same type
Understanding the concepts of OOP
Classes, objects, inheritance, polymorphism, operator
overloading, function template, etc.
Work with files as input and output of C# programs,
and demonstrate how to create and change files
Final goal: Design programs and projects by using
OOP concepts.
Administrative — 3
4. Syllabus
Review fundamental of programming
Data types, conditional statements, loops, strings, arrays
Functions and Methods
Basic concepts of OOPs
Classes and objects
Constructors and destructors
References and dynamic allocations
Introduction to GUI programming
Inheritance
Operator overloading [Second Semester]
Virtual functions and polymorphism
Templates and exceptions
Abstract classes and interfaces
File I/O
Iterative Solutions
Administrative — 4
5. References
C#, How to Program-Deitel
C#, The Complete Reference - Herbert Schildt
An Introduction to Object Oriented Programming
with C# (Kieran Mulchrone)
Introduction to Object-Oriented Programming
Using Visual C# Express Edition
Object Oriented Programming using C# (Kendal)
Administrative — 5
I have pdf of all books. You can get a copy of them
6. Software
Visual studio 2012
You can borrow the DVD of the software
from me and installed on your own
computer
If you do not have your own computer, the
computer labs on campus have the
software.
Administrative — 6
7. Computer Science jobs
For the 6 months to 29
June 2011, IT jobs within
the UK citing Computer
Science also mentioned
the following
programming languages
in order of popularity.
The figures indicate the
number of jobs and their
proportion against the
total number of IT job ads
sampled that cited
Computer Science.
1 4253 (36.01 %) Java
2 3466 (29.35 %) C#
3 3278 (27.76 %) SQL
4 2909 (24.63 %) C++
5 2426 (20.54 %)JavaScript
6 1514 (12.82 %) C
7 1103 (9.340 %) PHP
8 976 (8.264 %) Python
9 762 (6.452 %) Perl
10 490 (4.149 %) Ruby
11 476 (4.030 %) VB.NET
12 434 (3.675 %) T-SQL
13 329 (2.786 %) VB
14 276 (2.337 %) Shell Script
15 256 (2.168 %) Objective-C
8. EEaarrllyy pprrooggrraammmmiinngg llaanngguuaaggeess
88
1950s: 1960s: 1970s:
Algol68
Classic C
Simula
Pascal
BCPL
Lisp
Fortran
COBOL
Algol60
PL1
Red==major commercial use
Yellow==will produce important “offspring”
11. Course Prerequisites
Prerequisites:
Introduction to programming
Who should be taking this course:
students who want to switch to a computer
science major
students who are just interested in programming.
Who should NOT be taking this course
Students trying to get out of taking a math
requirement. This class may be more difficult than
the math you are trying to avoid.
11
12. What the class is really about
There are two main goals of this course:
1. Basics of C#
2.Core Concepts of Programming Languages
3.Concepts of Object Oriented Programming
plus
2.Learn the Principles of Software
Development
12
13. Evaluation & Grading
Grade break down to
Homework 5%
Class Exams 20% (After finishing each chapter, you
have a long (3 hours) exam)
Project 15%
Final Exam 60%
Late delivery of homework policy
10% reduction for each day late
Homeworks take a lot of time, so start them early
Back up your work. Computer crashes or lost
programs are not valid excuses for not handing in an
assignment.
14. A Word About Cheating
Discussing homework concepts is fine, but you
must submit your own work.
If you are caught cheating, 100% you will get 0 out of 40 for the
40% of the course grade.
Academic Misconduct :
Running out of time and using someone else's output
Borrowing code from someone who took course before or has done
the project
Cheating in exams and assignments
Etc.
15. Student Civility
In an effort to make this class enjoyable
for everybody…
Please be on time to class!
Please do not talk to your friends and
neighbors in class! It disturbs everyone, and
makes it hard to concentrate. If you have a
question, just ask me!
Please turn your pagers and cell-phones off!
15
16. Help is always available
Option 1: Come to my Office
Location: second floor, lecturer
office
I get bored when nobody visits!
Option 2: send your problem by
email to me
Option 3: ask other lecturer staff
E,g., M. Fakher, M. Michel, M. Nadim, etc.
Option 4: ask students of second,
third and fourth years 16
Molly Intersimone’s rendering - of the programming language family tree and relationships:
grandpa - algol 60
grandma-simula67
pa-C
sibling’s in age C++ (born 85), Java(95), C#(2000)