Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Calculatoare şi tehnologia informaţiei
Programul de studii: Ingineria informatiei - in limba engleza
Limba de predare: Engleză

SYLLABUS

I. General data
Code	Subject	
MIA0001	History of Computer Science	

Semester	Hours: C+S+L+P	Category	Status	
8	1+0+0+0	complementary	optional	

II. Full status faculty members
Name and	Scientific	Didactic	Department	Type of activity	
surname	title	title		C	S	L	
STERCA Adrian Ioan	Ph.D.	Lect.	Computer Science	*			

Associated faculty members
Name and	Scientific	Institution	Type of	Type of activity	
surname	title		position	C	S	L	

III. Course objectives
- To get students accustomed with historical evolution of the main Computing Systems and Operating Systems types existent in today Computer Science and in perspective.
- To obtain a global view of the Computer Science theory.
- To discover the most important people in Computer Science.	

IV. Course contents
1. Algorithms in ancient times and Middle Age; Euclid’s algorithm.
2. First Computing Systems and first programming elements: Blaise Pascal, Charles Babage and Ada Byron, forerunners of classical Computer Science.
3. Mathematical models in Computer Science: the Turing machine, normal algorithms and formal languages.
4. The emergence of the electronic computer(1943-45); John von Neumann’s contributions.
5. Machine level programming: main characteristics.
6. Crucial moments in hardware development: the input-output channel, the transistor, VLSI circuits, multiprocessor systems, real time systems, microcomputers and supercomputers.
7. Operating systems, from resident monitors to distributed operating systems; from the monolithic internal structure to stratified structures and microkernel
8. The emergence and the importance of assembly languages and their today and future part;
9. Fortran, the first high level programming language; the advance in programming accomplished by compiler development; evolution and trends in programming languages.
10. Computer generations.
11. Computing systems and communications; the Internet world. The World Wide Web.
12. The human - machine impact; user’s graphical interfaces: WINDOWS and X-WINDOW phenomenon.
13. Computer spread out in all human activities. 
14. Programming methods evolution: structured programming, software engineering, object oriented approach; 
15. Current Computer Science fields.	

V. Bibliography
1. http://cs-exhibitions.uni-klu.ac.at/index.php?id=320
2. http://cs-exhibitions.uni-klu.ac.at/index.php?id=321
3. http://cs-exhibitions.uni-klu.ac.at/index.php?id=323
4. Estabrook N. Teach Yourself the Internet in 24 Hours. E-book Mc Millan Computer programming: http://www.mcp.com
5. * *UNIX Unleashed. E-book Mc Millan Computer programming: http://www.mcp.com
6. History of Unix. http://perso.club-internet.fr/unix/history.html
7. http://www.wikipedia.org
8. http://www.cs.uwaterloo.ca/~shallit/Courses/134/history.html
9. http://www.computerhistory.org/	

VI. Thematic of didactic activities per weeks
Course (1 hour per week):
Week 1: 1. Algorithms in ancient times and Middle Age; Euclid’s algorithm.
Week 2: 2. First Computing Systems and first programming elements: Blaise Pascal, Charles Babage and Ada Byron, forerunners of classical Computer Science.
Week 3: 3. Mathematical models in Computer Science: the Turing machine, normal algorithms and formal languages.
Week 4: 4. The emergence of the electronic computer(1943-45); John von Neumann’s contributions.
Week 5: 6. Crucial moments in hardware development: the input-output channel, the transistor, VLSI circuits, multiprocessor systems, real time systems, microcomputers and supercomputers.
Week 6: 7. Operating systems, from resident monitors to distributed operating systems; from the monolithic internal structure to stratified structures and microkernel.
Week 7: 5. Machine level programming: main characteristics.
              8. The emergence and the importance of assembly languages and their today and future part.
Week 8: 9. Fortran, the first high level programming language; the advance in programming accomplished by compiler development; evolution and trends in programming languages.
Week 9: 10. Computer generations.
Week 10: 11. Computing systems and communications; the Internet world. The World Wide Web.
Week 11: 12. The human - machine impact; user’s graphical interfaces: WINDOWS and X-WINDOW phenomenon.
Week 12: 13. Computer spread out in all human activities. 
                14. Programming methods evolution: structured programming, software engineering, object
                      oriented approach; 
                15. Current Computer Science fields.	

VII. Didactic methods used
Didactic methods used: describing, explaining, conversations, individual study.	

VIII. Assessment
The students will have to write a report/article about a certain aspect of computer science history assigned to them. Further details about this course are at:
http://www.cs.ubbcluj.ro/~forest/hcs	

IX. Additional references

	Dean,							Department head,
	Prof. Leon Tambulea, Ph.D.			Prof. Florian Boian, Ph.D.

	Date,							Course responsible,
								Lect. STERCA Adrian Ioan, Ph.D.