CSC212 is a second semester course comprising two modules: Computer Architecture and Algorithms & Complexity, spanning 13 weeks of lectures and/or contact hours with lecturers.
1. LECTURERS
Prof. A Gerber (AG) (agerber@uwc.ac.za)
A/Prof. Antoine Bagula (AB) (abagula@uwc.ac.za)
Dr. Omowunmi Isafiade (OI) (oisafiade@uwc.ac.za)
All queries about lectures should be addressed to the lecturer concerned. All queries about the running of practicals and tutorials should be addressed to the Teaching Assistants, lecturers could also be approached regarding missed tests and if the Teaching Assistant cannot help.
2. TEACHING ASSISTANTS (TA)
Your TA can help on the running of tutorials/practicals, marking of assignments and tests and general questions about the course.
3. BOOKS
Prescribed (required):
-
Computer Organization & Architecture, Global Edition, 10/E, by William Stallings, Publisher-Pearson . ISBN: 9781292096858
-
Notes will be available from the Department or the Department Web pages. Additional web resources will be provided if/when required.
Purchase:
-
Books are obtainable at: Campus Books, Juta, Atlas or Van Schaik
-
Books are also available on the reserve shelf of the UWC Library
4. SYLLABUS
Algorithms and Complexity RD
This course is the culmination of the study of Data Structures and their Algorithms. It is an introduction to Algorithms and their Complexity and their efficient implementation for manipulating data structures. The implementation language is Java and many examples in Java are developed in the practicals. The time and space complexity of algorithms are studied and the student should have a good grasp of the space and time efficiency of algorithms. The student should: (1) be able to verify the correctness of algorithms by induction proofs; (2) understand loop invariants; (3) calculate the asymptotic bounds for algorithms; (4) implement algorithms for manipulating data structures to execute efficiently on computing machinery; and (5) reproduce algorithms under examination conditions; and (6) understand what is meant by computability; (7) What do N = NP? or N ≠ NP mean?
NB: For more info on Algorithms and Complexity please visit this link: http://cs.uwc.ac.za/~regdodds/index.html
Computer Architecture OI & AB
This is a practical and discussion-oriented introduction to high-level concepts in modern computer architecture. Topics include: assembler; principles and implementation of CPU architecture; pipelining; multicore architectures; caching; virtualization; CPU/memory performance; storage and RAID; flash memory; and USB.
Please note that this syllabus is subject to change and details will be updated regularly throughout the course.
5. PRACTICAL WORK
Note: All practical work is done individually, unless otherwise specified by the lecturer concerned. Penalties for late hand-ins are: 10% per day. Work which is more than 4 days late will NOT be accepted. Remember the plagiarism policy (see Section 8) and do not submit material that is not your own work. Tutors are available during tutorial sessions to assist with the open practical.
Marks and comments will usually be returned within 2 weeks.
6. ATTENDANCE, EXEMPTIONS, EXTENSIONS
Lecture attendance is expected and some lectures will include in-class assessments, which will count towards your course grade.
Exemption and extensions of deadlines for practicals, tutorials and weekly problem solving exercises will only be considered on medical or compassionate grounds. Medical grounds have to be supported by a Valid Medical Certificate signed by a qualified Medical Doctor, which clearly explains why the student is unable to complete their assignment. Compassionate grounds will normally require a letter of support from a parent/guardian or counsellor.
Please submit your Medical Certificate to Ms Rene Abbot (rabbot@uwc.ac.za), administrative assistant at the reception, and alert the lecturer that you have done so via email. See the lecturer regarding compassionate grounds: do this before the deadline in question, or if that is not possible, immediately on your return to UWC. It is vital to do this immediately as late applications after the deadlines have passed will not be considered. The TA cannot grant extensions and exemptions, so do not ask them.
7. MISSED CLASS TESTS
Any student who misses a class test for Medical or Compassionate reasons will be required either to rewrite the test or to do an oral – exemption from class tests will not be granted. However, the lecturer concerned will make a final decision regarding this. The procedure to follow is:
A. It is the student’s responsibility to inform the Departmental Secretary and lecturer concerned as soon as possible and no later than 3 days after the test that you have missed the test and provide the following:
either
-
A Medical certificate, signed by a Medical doctor must be provided to the Departmental Secretary; this must clearly indicate that the student is medically unable to write the test .
or
-
In the case of Compassionate reasons please discuss this with the lecturer concerned no later than 3 days after the test.
B. The re-test could be done within 10 days of the test (or by the end of the week following the test) which ever date comes first. It is usually arranged for 1 week after the original test. However, note that the lecturer concerned gives the final recommendation for a missed test.
C. In the case of an extended Medical situation please contact the lecturer concerned in good time.
8. PLAGIARISM (COPYING)
All forms of plagiarism (programs, essays, tutorials etc) are illegal and will be punished according to the University’s rules. These rules are severe and can lead to rustication. The Computer Science Department checks all program submissions to ensure that the work submitted has not been copied. Work by other authors must be acknowledged as such under all circumstances. The department will assume that you have agreed to the plagiarism declaration for every of your hand-in.
While we do encourage you to share, debate ideas and discuss your work, we however draw a careful line between that and plagiarism. Please pay close attention, we take it very seriously.
9. PRIOR KNOWLEDGE/COMPETENCIES
-
Knowledge of a high level programming language
-
Understanding of programming structures
-
Some knowledge of stack mechanisms and procedure calls
10. OUTCOMES/COMPETENCIES
-
Demonstrating and understanding of the interaction between low and high-level software and hardware.
-
Know the architecture of a typical RISC/CISC processor at the conventional machine level and understand the fundamental limitations and bottlenecks in modern processors.
-
Have some knowledge of assembler language programming.
-
Understand how hardware components and their interconnection affect the performance of a computer.
11. SCHEDULE and NOTIONAL HOURS
- The class meets twice a week for a one hour lecture: 13 * 2 = 26 hrs
- Practical session every week for one hour used for programming: 13 * 1 = 13 hrs
- You are expected to spend at least two hours for every hour in class, studying and writing up assignments – this includes the time spent studying for tests and exams: 13*2 * 2 + 7 = 59 hrs
- Tests and Pop quizzes are spread throughout the term: during class
- Assessment in Exam 2 hrsTotal: 26 + 13 + 59 + 2 = 100 notional hours
Period |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
1 08h30-09h30 |
|
|
|
|
CSC212 Complexity CS/ SunLab |
2 09h40-10h40 |
|
|
|
CSC212 Architecture Sc8 |
|
3 10h50-11h50 |
CSC212 Architecture/ Complexity Sc8 |
|
Group 1 Architecture Thintana |
|
|
4 12h00-13h00 |
|
|
Group 2 Complexity SunLab |
|
|
LUNCH |
CSC212 Complexity SC9/SunLab |
|
Group 2 Architecture Thintana |
|
|
5 14h00-15h00 |
CSC212 Algorithms Practical CSC212 Algorithms Practical |
|
Group 1 Complexity SunLab |
|
|
6 15h10-16h10 |
|
|
|
||
7 16h20-17h20 |
CSC212 Algorithms Practical |
|
|
|
Lecture and practical times are as set out on the Faculty timetable.
Week |
Date |
Topic (see chapters in the book) |
Assignments |
1 |
7th – 11th August 9th August: Women’s day |
Overview and Computer Evolution and Performance |
Do review on lectures and questions in Chapters 1 & 2
|
2 |
14th – 18th August |
A Top Level View of Computer Function and Interconnection |
Read the chapter Review the review questions & problems of this chapter Assembler Assignment 1 |
3 |
21st – 25th August |
Cache Memory Hardware & Software Architecture |
Do review on lectures Read the chapter Review the review questions & problems of this chapter
|
4 |
28th August – 1st September |
Internal Memory |
Do review on lectures Read the chapter. Review the review questions & problems of this chapter Assembler Assignment 2 Prepare for test |
5 |
4th – 8th September |
External Memory Introduction to Assembly Language Test 1 (Algorithms & Complexity) TBC |
Do review on lectures Read the chapter. Review the review questions & problems of this chapter |
6 |
11th – 15th September |
Input/Output Assembly Language Fundamentals Test 1 (Architecture) TBC |
Do review on lectures Read the chapter. Review the review questions & problems of this chapter. Assembler Assignment 3 |
7 |
18th – 22nd September 24thSeptember:Heritage day
|
Number Systems Computer Arithmetic |
Do review on lectures Read the chapter Review the review questions & problems of this chapter |
8 |
25th – 29th September 25thSeptember: Public Holiday |
Digital Logic |
Do review on lectures Read the chapter Review the review questions & problems of this chapter Prepare for test |
9 |
30th September – 8th October |
Holiday |
|
10 |
9th – 13th October |
Instruction Sets Addressing Modes… |
Do review on lectures Read the chapter Review the review questions & problems of this chapter Assembler Assignment 4 |
11 |
16th – 20th October |
Instruction Sets CISC / RISC Test 2 (Algorithms & Complexity) TBC |
Do review on lectures Read the chapter Review the review questions & problems of this chapter |
12 |
23rd -27th October |
Test 2 (Architecture) TBC |
Do review on lectures Read the chapter Review the review questions & problems of this chapter |
13 |
30th October – 3rd November |
Processor Structure & Pipelining |
Do review on lectures Read the chapter Review the review questions & problems of this chapter |
14 |
6th November – 10th November |
RISC Machines |
Do review on lectures Read the chapter Review the review questions & problems of this chapter |
15 |
15th – 19th November |
Study Period |
Do review on lectures Prepare for exams |
16 |
20th November- 13th December |
Assessment Period |
Good luck for the course! |
NB: Test dates will be confirmed by the lecturers concerned.
12. ASSESSMENT EVENTS and METHODS
-
Computer Architecture: 50%
PopQuizzes, Assembler (programming), Exam and Tests (1 & 2) 100%
-
Algorithms and Complexity 50%
TBC 100%
100%
12b) POP QUIZZES
A pop-quiz is an unannounced short, e.g. 5-10 minutes, individual quiz, in class, that cover material covered in class and also reading material announced in class, in this syllabus, including what is prescribed for the day of the lecture(s). There is no make-up for a missed pop quiz.
13) INFUSION OBJECTIVES
- Comprehension and Communication Skills: Discussion of problems in groups.
- Problem Solving: Reading of problems and effectively interpreting it.
- Programming Competency: Introduction to Assembly Language for Intel-based Computers.
- Team Work: Students will possibly work in teams when completing some projects/ solving exercises
- Leadership: Within a team
- Ethics & Professionalism: Professional conduct
- Responsibility: Time management: – Exercises/pop quizzes must be completed during tut/prac times, programming assignments completed in the student’s own time but within the stipulated deadline.
- Software Development: Use SDLC for all programming assignments.
- Research Methods: Using and referencing the web as well as articles in academic journals.