Course Name: Advanced Computer Architecture Course Code: CSC 5202 Credit Hours: 3/3/0 Credit hours/class hours(per week)/lab hours(per week) Course Prerequisites: - Quarter/Year: 2014-2015 (Spring Semester) Instructor: Syed Mehmood Naqvi, Ph.D. Contact No: 056-628-0360 Consultation Hours: Friday 13:00 – 13:30 E-mail: dr.naqvi@gmail.com SECTION 1: GENERAL INFORMATION 1.1 COURSE OBJECTIVE The objective of this course is to develop an in-depth understanding of high-performance, energy-efficient, and cost effective computer systems, especially parallel architectures, as a foundation for further study and research in computer architecture and compiler design. 1.2 COURSE DESCRIPTION This course thoroughly examines the modern computer architectures, particularly parallelism, in all forms. Starting with fundamentals of computer architecture, the course will progress through the topics such as instruction set architecture, memory addressing, role of compilers, memory hierarchy design, storage systems, and various forms of parallelism. To enable a better understanding of the concepts, students will required to complete a research project to address issues in current and future architectural designs. Students will have options in exploring their own interests in custom projects and assignments. 1.3 LEARNING OUTCOMES At the completion of this course, the student will be able to: 1. Demonstrate an in-depth understanding of the advanced concepts of computer architecture. 2. Analyze different instruction set architectures and their relationships to the computer design. 3. Analyze various internal and external storage systems to retrieve, process, and store data efficiently. 4. Discuss how compiler technology can support in optimizing computer programs. 5. Compare different forms of parallelism to address core issues in modern computer architectures. 1 CSC 5202 Advanced Computer Architecture Spring 2015 1.4 RELEVANT POLICIES AND DOCUMENTS All students must read and be familiar with Student Handbook and SZABIST policies on student code of conduct and other relevant issues. 1.5 TEACHING AND LEARNING METHODOLOGY Active learning strategies are employed in this course to encourage students’ participation in class and to foster their abilities to discuss a solution to a problem in group. Students will have to work on assignments, presentations, and group projects. 1.6 MATERIALS AND SUPPLIES Power point slides plus white board will be used during lectures. Lecture notes and other research related material will be provided. 1.7 LEARNING RESOURCES Prescribed Textbooks 1. Hennessy, J. L. & Patterson, D. A. (2012). Computer Architecture: A quantitative approach (5th ed.). Waltham, MA: Morgan Kaufmann. ISBN-13: 978-0123838728 2. Patterson, D. A. & Hennessy, J. L. (2013). Computer Organization and Design (5th ed.). Waltham, MA: Morgan Kaufmann. ISBN-13: 978-0124077263 3. Stallings, W. (2012). Computer Organization and Architecture (9th ed.). Essex, England: Pearson. ISBN-13: 978-0132936330 Recommended Reading 1. Clements, A. (2014). Computer Organization & Architecture: Themes and variations (1st ed.). Stamford, CT: Cengage Learning. ISBN-13: 978-1111987046 2. Tanenbaum, A. S. & Austin. T. (2012). Structured Computer Organization (6th ed.). Essex, England: Pearson. ISBN-13: 978-0132916523 3. Irvine, K. R. (2014). Assembly Language for x86 Processors (7th ed.). Upper Saddle River, NJ: Pearson. ISBN-13: 978-0133769401 4. Brey, Barry B. (2008). The Intel Microprocessors (8th ed.). Upper Saddle River, NJ: Pearson. ISBN-13: 9780135026458 Organizations, Labs, and Research Groups 5. IBM Research has been involved in research and development for more than sixty years and is the innovation engine of the IBM Corporation. From helping the Apollo space missions to the discovery of fractals; from the technology behind laser eye surgery to a question answering computer applied to health care, IBM continues to define the future of technology. Visit http://www.research.ibm.com/ 6. IBM Research - Austin is one of 12 IBM research laboratories worldwide. The lab focuses on the hardware development of high-speed microprocessors; high-performance/low-power VLSI design and tools; system-level power analysis; and new system architectures. Other projects include flood prediction modeling, 3D microprocessor transistor design, and main memory power, performance, and reliability research. http://www.research.ibm.com/labs/austin/index.shtml 2 CSC 5202 Advanced Computer Architecture Spring 2015 7. Automated Relational Knowledgebase (ARK) is an Intel’s facility that provides automated access to the relational database that drives Intel’s corporate product catalog. It delivers on-demand product characteristics, features, relationships and product comparisons. For most products, the ARK specification page contains a link to "Datasheet." The datasheet typically contains very detailed technical specifications for a product. Please explore Intel’s ARK: http://ark.intel.com/ 8. AMD Research performs leading-edge research and provides technology direction critical to AMD’s future. The diverse research activities at AMD range from circuit design and computer architecture to system software and application engineering. Their goal is to influence both industry and academia through exploration of important research directions and future technologies in an environment conducive to collaborations with groups within and outside AMD. Visit http://www.amd.com/engb/who-we-are/corporate-information/research 9. Microsoft Research is the research division of Microsoft Corporation. It was created to advance high-tech computing and help solve global challenges through technological innovations. The Microsoft Research team has more than 1,000 scientists and engineers working across multiple research areas in research labs worldwide, making significant product contributions in technology. Please explore http://research.microsoft.com/ 10. IEEE Computer Architecture Letters (CAL) is a semi-annual forum for fast publication of new, high-quality ideas in the form of short, critically refereed, technical papers. You can submit papers on any topic in computer architecture. Please visit: http://www.computer.org/portal/web/cal/home 11. The Asynchronous VLSI and Architecture Group at Cornell University is a research group that conducts research on semantics, design methodologies, and architectures for asynchronous systems. The group has designed and fabricated microprocessors, FPGAs, 2D and 3D integrated circuits, neuromorphic chips, as well as developed the necessary software tools to support the hardware. Please explore the research activities of the group using the following link: http://vlsi.cornell.edu/ 12. The Computer Systems Architecture (CSA) is a research group at the University of Amsterdam attacking significant problems spanning compilers, computer architecture and implementations as systems on a chip. The scope includes embedded systems, where they are involved in early design space exploration, as well as general purpose computing platforms. Please explore further: http://csa.science.uva.nl/ 13. Founded in 1916, The Optical Society (OSA) is the leading professional association in optics and photonics, home to accomplished science, engineering, and business leaders from all over the world. Through world-renowned publications, meetings, and membership programs, OSA provides quality information and inspiring interactions that power achievements in the science of light. http://www.osa.org/en-us/home/ 14. High Performance Computing Architectures and Technologies (HPCAT) is a research group at the University of Arizona, which undertakes research in high performance computing. Please visit the group and explore further: http://www2.engr.arizona.edu/~hpcat/ 15. Computer Architecture and Automated Design Lab (CAAD) is a research group in Boston University's Department of Electrical and Computer Engineering. The research at CAAD has a particular focus on applications that are likely to benefit from hardware solutions other than commodity systems. Please visit: http://www.bu.edu/caadlab/ 16. The Computer Architecture Lab at Carnegie Mellon (CALCM) brings together all faculty, staff, and students interested in computer architecture research and education at Carnegie Mellon. Please explore the site at: http://www.ece.cmu.edu/CALCM/doku.php 3 CSC 5202 Advanced Computer Architecture Spring 2015 17. The Computer Architecture Research Laboratory at UC Davis undertakes research into various aspects of computer design and performance. The laboratory facilities are used to support many different research projects, including the use of photonic interconnects for both on and off-chip communication, mechanisms to increase the functionality and useability of a processor design, ways to increase information content of data streams, studies of how best to use billions of transistors, work on reducing the memory access penalty, and an investigation of optimal multiprocessor cache configurations. Please visit: http://arch.cs.ucdavis.edu/ 18. The Advanced Computer Architecture Group (ACAG) at UC Irvine has developed several processors over the past several years based on VLIW, superscalar, multithreaded, and reconfigurable architecture. Currently, their main focus of research is on the development of a multi core processor based on the notion of Networks-on-Chip. Please explore further: http://gram.eng.uci.edu/comp.arch/ 19. The Micro Architecture at Santa Cruz (MASC) group at UC Santa Cruz is carrying out research in computer architecture. Please visit: http://masc.soe.ucsc.edu/ 20. The Institute of Computing Technology (ICT) of the Chinese Academy of Sciences is the first academic establishment to specialize in comprehensive research on computer science and technology in China. The ICT has successfully built China’s first general-purpose digital computer and now has turned itself into an R&D base for high-performance computer technology. It is also the place where China’s first general-purpose CPU chip was born. Please visit: http://english.ict.cas.cn/ 21. The Compiler and Architecture Design Group at the University of Edinburgh is conducting research on compiler and architecture technology that can lead to better performance in parallel, high-performance, and application-specific computer systems. The group is working on the development of autoparallelising compilers and program transformation theory for high performance systems. Please visit: http://www.icsa.inf.ed.ac.uk/compilers/ 22. The Computer Engineering Research Group at Delft University of Technology performs research in a broad range of topics ranging from computer arithmetic and computer architecture to compiler construction and focusing both on embedded systems as well as high performance computing. Please visit: http://www.ce.ewi.tudelft.nl/ 23. The Advanced Computer Architecture Laboratory (ACAL) at the University of Michigan is a research unit that serves as the focal point for interdisciplinary research into the theory, design, programming, and applications of advanced computer systems. Over the past two decades, ACAL researchers have made pioneering contributions to the design of high-performance computer systems such as, for example, Intel's Pentium chip and Compaq's Alpha chip, spearheading technical advances in pipelining, branch prediction, parallel processing, timing analysis and optimization, and automatic test generation. Please visit and explore further ACAL at the following: http://wwweb.eecs.umich.edu/acal/index.html 24. ARCTiC Labs is the Laboratory for Advanced Research in Computing Technology and Compilers in the Department of Electrical and Computer Engineering at the University of Minnesota. The research in ARCTiC Labs focuses on computer architecture, high-performance parallel computing, computing with emerging technologies, approximate computing, computer systems performance analysis, and storage systems. The people at ARCTiC Labs have a particular emphasis on the interaction of software and compilers with computer architecture, and the interaction of computer architecture and circuits. Visit: http://www.arctic.umn.edu/ 25. The Parallel Systems Group at the University of Toronto comprises researchers working in all aspects of parallel systems, including computer architecture, operating systems, compilers, performance evaluation and applications. Previous projects include the Hector shared memory multiprocessor, and the Hurricane multiprocessor operating system. Please explore: http://www.eecg.toronto.edu/parallel/ 4 CSC 5202 Advanced Computer Architecture Spring 2015 26. The Computer Architecture and Nano-VLSI Systems Research Group at the Department of Computer Science Engineering, University of South Florida conducts research specifically in architecture, VLSI systems design, VLSI design automation, computer-aided verification, high Level synthesis, physical design automation, VLSI algorithms and architectures, multi-core systems, nano-circuits and systems. Please visit: http://vcapp.csee.usf.edu/ 27. The Concurrent VLSI Architecture (CVA) group at Stanford University is involved in investigating methods for applying VLSI technology to information processing problems. Ongoing projects address issues in parallel computer architecture, parallel computer software, interconnection networks, special purpose processor design, high speed electrical signalling, etc. Please explore: http://cva.stanford.edu/cva Benchmarks 28. BenchWeb is a starting point for finding information about computer system performance benchmarks, benchmark results, and benchmark code. The site is maintained at the University of Tennessee Computer Science Department. Please explore further: http://www.netlib.org/benchweb/ 29. The Standard Performance Evaluation Corporation (SPEC) is a non-profit corporation formed to establish, maintain and endorse a standardized set of relevant benchmarks that can be applied to the newest generation of high-performance computers. SPEC develops benchmark suites and also reviews and publishes submitted results from our member organizations and other benchmark licensees. Please visit: https://www.spec.org/ Tools and Tutorials 30. Professor Koren developed a webpage to help students visualize and simulate different concepts of computer architecture easily. These educational tools and other resources can be found at http://www.ecs.umass.edu/ece/koren/architecture/ 31. MIPS Assembler and Runtime Simulator (MARS) is an IDE for MIPS assembly language programming. MARS is a lightweight interactive development environment (IDE) for programming in MIPS assembly language, intended for educational-level use. You can go to MARS through the following link: http://courses.missouristate.edu/KenVollmar/MARS/ 32. RaVi is a set of interactive training components for the teaching of the computer architecture. Each component visualizes an aspect of the dynamic behaviour that is found in computer architectures, for example, the behaviour of a micro-coded MISP-processor. The RaVi components have been used in lectures on computer architecture at the University of Dortmund, Germany. Please visit: http://ls12www.cs.tu-dortmund.de/daes/en/lehre/downloads/ravi.html 33. This tutorial provides supplementary knowledge for students taking a course on computer architecture. The concepts explained include some aspects of computer performance, cache design, and pipelining. The tutorial contains examples, interactive applets, and some problems with solutions to illustrate basic ideas simply. Please see http://www.cs.iastate.edu/~prabhu/Tutorial/title.html 34. This tutorial aims to provide an introduction to the various parts of the microprocessor, and to teach the basics of the architecture and workings of the CPU across three specific sections: CPU structure; instruction execution; further features. See http://www.eastaughs.fsnet.co.uk/cpu/ 35. This microprocessor simulator is the winner of IEEE Computer Society Student Competition 2010 where the undergraduate students were asked to design a CPU architecture and build a simulator for it. A video about the simulator can be watched at https://www.youtube.com/watch?v=K4xzGzCrxRY. The simulator can be downloaded from: http://www.mediafire.com/download/vnuaj2zml4a/Azhar+Microprocessor+Simulator+V+1.1++Setup.exe 5 CSC 5202 Advanced Computer Architecture Spring 2015 1.8 COURSE SCHEDULE Week Assessment Due Lecture Topic(s) Related Text Chapter(s) Learning Activities 1. Introduction to Computer Architecture Chapter 1 and 2 (Text 3) Lecture; discussion; brainstorming 2. Fundamentals of Quantitative Design Chapter 1 (Text 1) Lecture; discussion; brainstorming 3. Instruction Set Principles: ISA; Addressing modes Chapter 12 and 13 (Text 3) Lecture; discussion; brainstorming 4. Memory Hierarchy Design I: Cache memory; Internal memory Chapter 4 and 5 (Text 3) Lecture; discussion; brainstorming 5. Memory Hierarchy Design II: Optimization; Virtual memory Appendix B and Chapter 2 (Text 1); Chapter 5 (Text 2) Lecture; discussion; case 6. Memory Hierarchy Design III: Storage systems Appendix D (Text 1); Chapter 6 and 7 (Text 3) Lecture; discussion; case; presentation Presentation 7. Instruction-Level Parallelism I: Pipelining Chapter 4 (text 2); Chapter 14 and 15 (Text 3); Appendix C (Text 1); Lecture; discussion; case Assignment 1 8. Instruction-Level Parallelism II: RISC machines; Superscalar processors Chapter 4 (text 2); Chapter 16 (Text 3) Lecture Midterm Exam 9. Instruction-Level Parallelism III: Parallel processing; ILP exploitation Chapter 17 (Text 3); Chapter 3 (Text 1) Lecture; discussion; case; presentation Presentation 10. Compiler Technology: Hardware & Software Support Appendix H (Text 1) Lecture; discussion; presentation Presentation 11. Data-Level Parallelism in Vector, SIMD, and GPU architecture Chapter 4 (Text 1); Chapter 7 (Text 2) Lecture; discussion; case; presentation Presentation 12. Thread-Level Parallelism Chapter 5 (Text 1) Lecture; discussion; presentation Presentation 13. Large-Scale Multiprocessors and Scientific Applications Appendix I (Text 1) Lecture; case; group discussion Presentation 14. Request-Level Parallelism Chapter 6 (Text 1) Lecture; case; group discussion Assignment 2; Presentation 15. Group Project Presentation Group project presentation Group Presentation 16. Final Exams Week Final Exam *This schedule is subject to change without notice. 6 CSC 5202 Advanced Computer Architecture Spring 2015 SECTION 2: ASSESSMENT INFORMATION 2.1 ASSESSMENT TASKS Assessment Task Weighting Group/Individual Due Date Learning Outcome Presentation 05% Individual Week 6-12 1 Assignment 1 05% Individual Week 7 2, 3 Assignment 2 05% Individual Week 14 4, 5 Project 15% Group Week 15 1, 2, 3, 4, 5 Midterm Exam 30% Week 8 1, 2, 3 Final Exam TOTAL 40% Week 16 1, 2, 3, 4, 5 100% 2.2 GRADING Please refer to SZABIST grading schemes. 2.3 ATTENDANCE POLICY Prompt arrival and regular attendance are extremely important. Refer to Student Handbook for policies on late entry, maximum absences allowed, leave application etc. 2.4 EXPECTED CLASS CONDUCT Maturity is expected from the class regarding behavior, eating / using mobile phones, class disturbance, late arrivals etc. 2.5 STUDENTS WITH PHYSICAL OR EDUCATIONAL CHALLENGES Students with educational and/or physical challenges are entitled to extra attention and time from the instructor. Therefore students are advised to notify the course instructor at the beginning of the course. Special arrangement may also be made on prior request based on specific challenges. 2.6 ACADEMIC INTEGRITY This course seeks to empower students for independent learning, resourcefulness, clear thinking, and perception. All submitted work and activities should be genuine reflections of individual achievement from which the student should derive personal satisfaction and a sense of accomplishment. Plagiarism and cheating subvert these goals and will be treated according to the policy stated in the Student Handbook. The instructor reserves the right to utilize electronic means to help prevent plagiarism. 2.7 COMMENTS AND/OR SUGGESTIONS Students and Instructors may contact the Institutional Research Department if there is a need to make suggestions or comments that can help further improve the course. A link is also provided on your ZABDESK account for frequent and trouble-free feedback. The Institutional Research Department would like to hear your feedback about the following: 7 CSC 5202 Advanced Computer Architecture Spring 2015 Students Course Content/ thoroughness Lecture Delivery/Supplementary Material Facilities/Labs/Software/Hardware Support Course alignment with learning outcomes Any other comments/feedback Instructors Availability of teaching material Facilities/Internet/Administrative Support Labs: Software/Hardware/Technical support Availability and quality of Teaching Instruments Any other comments/feedback 2.8 SATISFACTORY COMPLETION REQUIREMENTS The composite mark will comprise three elements: midterm exam marks, final exam marks, and the marks earned during the semester (including assignment, presentation, and project). To pass the course you have to pass all the components with at least 75%. Students must ‘reasonably’ complete all assessment tasks in order to pass the course. ‘Reasonable’ completion of an assessment task will be determined based on the instructions given to the student. 2.9 LATE PENALTIES Assessments handed in after the due date will be penalized by the deduction (from the mark given to the assessed work) of 10 percentage points for every day the assessment is late. This penalty will not apply if an extension is granted to the student by the instructor. 2.10 SUBMISSION OF ASSIGNMENTS All assessments must be submitted both in hard copy and soft copy to the instructor through email. Students are advised to keep a full copy of every assignment they submit. 2.11 SPECIAL CONSIDERATION (EXCLUDING FINAL EXAM) Special consideration for in-semester assessments is granted by the instructor for serious illness or circumstances beyond the student’s control. "Pressure of work", either from employment or from other subjects, is not an acceptable reason for seeking an extension of time. 2.12 SPECIAL CONSIDERATION (FINAL EXAMS) Students seeking special consideration for final exams must contact the Program Manager (Undergraduate and Graduate). 8 CSC 5202 Advanced Computer Architecture Spring 2015 SECTION 3: ASSESSMENT TASKS Assessment Task: Assignment 1 Type: Individual Total Marks: 50 Weighting: 5% Learning outcomes 2 and 3 Submission required by: Week 7 (Friday by 4:30 pm] Description and Requirements Your will be required to analyze different instruction set architectures and their relationships to the computer design. In addition you will also be required to analyze various internal and external storage systems to retrieve, process, and store data efficiently. The analysis may also require performing some calculations such as calculating relative access times in cache memories. Deliverables and Marking Criteria Problems are evaluated thoroughly with reference to theory and practice expressed with clarity. (30 / 50) Charts, tables, diagrams, and figures are used for the illustration purposes (20 / 50). Assessment Task: Assignment 2 Type: Individual Total Marks: 50 Weighting: 5% Learning outcomes 4 and 5 Submission required by: Week 14 (Friday by 4:30 pm] Description and Requirements This assignment will require you to discuss how various compilers can support in optimizing computer programs. You will also be required to compare and contrast different forms of parallelism to address core issues in modern computer architectures. The analysis may also require performing some calculations. Deliverables and Marking Criteria Problems are evaluated thoroughly with reference to theory and practice expressed with clarity. (30 / 50) Charts, tables, diagrams, and figures are used for the illustration purposes (20 / 50). 9 CSC 5202 Advanced Computer Architecture Spring 2015 Assessment Task: Presentations Type: Individual Total Marks: 50 Weighting: 5% Learning outcomes 1 Presentation required by: Week 6-12 (Every Friday by 4:30 pm] Description and Requirements The purpose of presentations is to help you investigate problems independently and present your work in a group of audience. Each student will be encouraged to choose a topic of his interest that addresses any of the contemporary issues in computer architecture or any other relevant areas and present his sole work in the class. The presentations will start in Week 6 and will continue until Week 12. Every week two students will present their work. Deliverables and Marking Criteria Contents (20 / 50) Organization (15 / 50) Presentation (15 / 50) Details about rubric and evaluation criteria will be provided to students in due course of time. Assessment Task: Project Type: Group Total Marks: 150 Weighting: 15% Learning outcomes 1, 2, 3, 4, and 5 Submission required by: Week 15 (Friday by 4:30 pm] Description and Requirements The purpose of the group project is to let students demonstrate their advanced knowledge about current issues in computer architecture and other relevant areas. The group project will show that students can generate ideas and have enough observations and knowledge to support or prove those ideas. It will also help them apply and integrate source material and develop and organize their ideas in the form of a paper. A formal presentation of the completed project is required. Students will have to submit their project report to the course instructor before presentation. Deliverables and Marking Criteria Problem statement (25 / 150) Literature review (25 / 150) Research design (25 / 150) Results (25 / 150) Conclusion (25 /150) Report writing (25 /150) Details about rubric and evaluation criteria will be provided to students in due course of time. 10 CSC 5202 Advanced Computer Architecture Spring 2015 Assessment Task: Midterm Exam Type: Individual Total Marks: 100 Weighting: 30% Learning outcomes 1, 2, and 3 Exam required by: Week 8 (Scheduled by the Registrar) Description and Requirements The purpose of the midterm exam is to assist the instructor in measuring the student’s in-depth understanding of the advanced concepts of computer architecture. The exam will also measure student’s analytical skills in differentiating instruction set architectures and various internal and external storage systems. Format The exam will have multiple choice questions, short essays, case studies, and numerical problems. Exact format of the exam will be provided one week before the exam. Deliverables and Marking Criteria Details about rubric and evaluation criteria will be provided to students one week before the exam. Assessment Task: Final Exam Type: Individual Total Marks: 100 Weighting: 40% Learning outcomes 1, 2, 3, 4, and 5 Submission required by: Week 16 (Scheduled by the Registrar) Description and Requirements The purpose of the final exam is to assist the instructor in measuring the student’s performance in understanding the advanced concepts in computer architecture. The final exam is comprehensive, but on its own, is not the only measuring tool to determine the student’s achievement; however, the student is required to fulfill all the requirements to pass the course. Format The exam will have multiple choice questions, short essays, case studies, and numerical problems. Details about exact format of the final exam will be provided to students one week before the exam. Deliverables and Marking Criteria Details about rubric and evaluation criteria will be provided to students one week before the exam. 11 CSC 5202 Advanced Computer Architecture Spring 2015 SECTION 4: REFERENCING AND CITATION WHAT IS REFERENCING? Referencing is an important part of academic writing. It is a way of referring to the work of others to provide evidence and support for what you are saying. It shows that your work has been researched and that your ideas have a sound base. By referring to reputable evidence and respected authors you add weight to your argument and show that you are knowledgeable in a particular field. WHY REFERENCE? Following the conventions of a referencing style is important to comply with international copyright laws and to avoid plagiarism. Fujairah College, like all academic institutions, takes the issue of plagiarism seriously and penalties for students who plagiarize the work of others are severe. All sources used must be cited in the text and a full list of sources cited must be included in the reference list at the end of the work. This needs to be done so that the reader can find the source and read it for himself or herself, if they so wish. Therefore, accuracy and consistency are very important when you are referencing. At Fujairah College most instructors require the Harvard style of referencing. IN-TEXT CITATION When you use other people’s ideas or opinions to support your points you can either use a direct citation or an indirect citation. Direct citation means that you use the exact words from the text and place them in quotation marks – “There are not enough examples in this essay”, (Brown, 1998: 4). Note that the name of the author (Brown), the year of publication (1998) and the page number (4) are placed after the quotation and are in parentheses. In some cases the author’s name can be placed in the text, but the date and page number are always in parentheses. Indirect citation means that you use the idea or the opinion of the author but you write it in your own words as a paraphrase or a summary – Brown felt that a particular piece of writing was lacking in examples (1998: 4). Note that quotation marks are not used, but the author (not in parentheses in this instance), year and page number are still given. REFERENCE LISTS You should always provide a reference list at the end of your assignments, which should include all the material, which you have referred to in the assignment. Note: A bibliography is a list of all the sources you have used, even if you have not cited them. Therefore, it includes your reference list plus any other material you have read. You will need to ask your instructors if they require a bibliography in addition to a reference list. 12 CSC 5202 Advanced Computer Architecture Spring 2015 GENERAL RULES Sources are listed alphabetically by the surname of the author. The author’s surname comes first and then the author’s initial, separated by a comma and a full stop. All parts of the reference are separated by a comma, except the author’s initial and the year. The citation should finish with a full stop. There are many variations on the rules and the format, and you will see many different styles of referencing. The main thing to remember is to be consistent. The guidelines, which follow, are meant to help you in writing your reference list, but you will need to check with individual instructor about their style preferences. JOURNAL ARTICLE The minimum information needed to reference a journal article is – Author’s name and initial Year of publication Title of article (in quotation marks) Title of journal (in italics) Volume number or month of publication Example: Brown, G. (1998) “Some things are better left unsaid: An introduction to the art of minding your own business”, Journal of Self Improvement, Vol. 3, No. 2, pp 4-15. ELECTRONIC JOURNAL ARTICLE The minimum information needed to reference an electronic (online) journal article is – Author’s name and initial Year of publication Title of article (in quotation marks) Title of journal (in italics) Medium (online, CD-ROM) [in square brackets] Volume number or month of publication URL (Available:) The date you accessed the article [in square brackets] Example: Brown, G. (1998) “Some things are better left unsaid: An introduction to the art of minding your own business”, Journal of Self Improvement [online], Vol. 3, No. 2. Available: www.proquest.com, [Accessed 7 June, 2003]. Note: the full URL is not necessary when a database is used, only the name of the database needs to be given. NEWSPAPER OR MAGAZINE ARTICLE The minimum information needed to reference a newspaper or magazine article is – Author’s name and initial Year of publication Title of article (in single quotation marks) Title of newspaper (in italics) Month/day of publication Page numbers 13 CSC 5202 Advanced Computer Architecture Spring 2015 Example: Greenwood, J. (2004) “When time runs out”, Gulf News, 23rd June, p 4. ELECTRONIC ARTICLE The minimum information needed to reference an electronic (online) article is – Author’s name and initial Year of publication Title of article (in single quotation marks) Title of website (in italics) URL (Available:) The date you accessed the article [in square brackets] Example: Brown, G. (1998) “Some things are better left unsaid: An introduction to the art of minding your own business”, Self Improvement [online], Available: www.selfimprovment.com/brown.html, [Accessed 23 June, 2001]. BOOK The minimum information needed to reference a book is – Author’s name and initial Year of publication Title of book (in italics) Edition of book if it is a reprint Publisher’s name Place of publication Example: Brown, J. (1998) Essay Writing for University Students, Sage, London. For more than one author the names are listed as they appear on the book cover (or journal reference etc.) and are separated by commas and an ampersand between the final two. Example: Brown, J., Smith, L., & Jones, P. (1998) How to Write Good Essays, Sage, London. AN EDITED BOOK The minimum information needed to reference an edited book is – Editor’s name and initial Year of publication Title of book (in italics) Edition of book if it is a reprint Publisher’s name Place of publication Example: Brown, J. & Smith, C./eds (1998) Essay Writing for University Students, Sage, London. 14 CSC 5202 Advanced Computer Architecture Spring 2015 CHAPTER OR SECTION OF A BOOK The minimum information needed to reference a chapter in a book is – Author’s name and initial Year of publication Title of chapter or section (in quotation marks) Title of book (in italics) Editor of the book Edition of book if it is a reprint Publisher’s name Place of publication Page numbers of the chapter or section Example: Jones, P. (1997) “Some students simply cannot write good essays”, in Brown, J. (ed) Essay Writing for University Students, Sage, London, pp 12-32. EXAMPLES OF REFERENCES FOR OTHER TYPES OF TEXTS Publication from a government body or organization Example: United Nations Crime and Justice Information Network (1999) Report on Crime Rates in Developing Countries, 1997 – 1998 [online], Available: www.uncjin.org/reports/1999/html, [Accessed 5 June, 2000]. WORK WITH NO APPARENT AUTHOR If an organization rather than individual authors publishes the work, cite as in the example above. If the work is anonymous, begin with the name of the publication if it is well recognized or the title of the article if it is available. Example: Economist (1999) “Do economic sanctions work?” [online], 23 February. Available: www.theeconomist.uk, [Accessed 25 March, 1999]. Example: ‘Some things are better left unsaid: An introduction to the art of minding your own business’ (1998) [online], Available: Proquest 5000, [Accessed 7 June, 2003]. 15 CSC 5202 Advanced Computer Architecture Spring 2015