| 
 Undergraduate Course: Computer Simulation (PHYS08026)
Course Outline
| School | School of Physics and Astronomy | College | College of Science and Engineering |  
| Course type | Standard | Availability | Available to all students |  
| Credit level (Normal year taken) | SCQF Level 8 (Year 2 Undergraduate) | Credits | 20 |  
| Home subject area | Undergraduate (School of Physics and Astronomy) | Other subject area | None |  
| Course website | WebCT | Taught in Gaelic? | No |  
| Course description | This course covers the methodologies of solving scientific problems using computers. It provides a training in the computational modelling of scientific problems and their representation using computer graphics. It also provides a grounding in object-oriented programming through the practical application of the Java language. Students will carry out extensive practical and project work. |  
Information for Visiting Students 
| Pre-requisites | None |  
| Displayed in Visiting Students Prospectus? | Yes |  
Course Delivery Information
|  |  
| Delivery period: 2014/15  Semester 2, Available to all students (SV1) | Learn enabled:  Yes | Quota:  None |  |  Web Timetable | Web Timetable | 
	| Class Delivery Information | Computational Physics Lab Sessions Tu & Th.  If, due to timetable constraints, students are unable to attend scheduled lab sessions, they are expected to fulfil the time commitments of the course outside of scheduled hours. |  | Course Start Date | 12/01/2015 |  
| Breakdown of Learning and Teaching activities (Further Info) | Total Hours:
200
(
 Lecture Hours 6,
 Seminar/Tutorial Hours 5,
 Supervised Practical/Workshop/Studio Hours 33,
 Summative Assessment Hours 3,
 Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
149 ) |  
| Additional Notes |  |  
| Breakdown of Assessment Methods (Further Info) | Written Exam
30 %,
Coursework
30 %,
Practical Exam
40 % |  
| Exam Information |  
    | Exam Diet | Paper Name | Hours & Minutes |  |  
| Main Exam Diet S2 (April/May) |  | 3:00 |  |  | Resit Exam Diet (August) |  | 3:00 |  |  
 
Summary of Intended Learning Outcomes 
| Upon successful completion of this course, it is intended that a student will be able to: 
 
 - Explain why it is appropriate to solve certain physical problems, such as integration and modelling interacting particles by computation
 
 - Apply the techniques of discretisation and iteration to solve open-ended physical problems  and  demonstrate  an awareness  of the origin and  impact  of numerical errors inherent in such techniques
 
 - Apply the key concepts of OO programming (data encapsulation, inheritance and polymorphism)  by analysing a problem statement to produce a simple OO design and implementing it in Java
 
 - Make use of classes and interfaces of the Java SE API, in particular to read and process data from external sources and to construct simple graphical applications
 
 - Predict when variables are copied by reference or by value according to their type, and the consequences thereof
 
 - Recognise the importance of clear, consistently-documented and error-tolerant codes, making use of Java's language features for achieving this
 
 - Locate and use additional sources of information (to include discussion with peers where appropriate) to resolve practical problems that arise
 
 |  
Assessment Information 
| 5 checkpoint assignments, 30% Project (code and report), 40%
 Degree Examination, 30%
 |  
Special Arrangements 
| None |  
Additional Information 
| Academic description | Not entered |  
| Syllabus | *	Key concepts of OO programming; data encapsulation, objects and classes, inheritance and polymorphism; *	Analysis of problem statements to produce simple OO designs;
 *	Classes and class hierarchies containing multiple constructors and methods;
 *	Declaration and initialisation of objects and arrays of objects;
 *	Creation of multiple instantiations (objects) of a class;
 *	Method execution on objects and classes;
 *	Pass by reference copy and pass by value; how arrays, objects and primitive types are passed;
 *	Utilisation of classes and interfaces of the Java SE API;
 *	Reading and parsing text from a file and writing data to a file;
 *	Checked and unchecked exceptions; handling exceptions (throw and try/catch);
 *	Simple graphical applications, including drawing objects, simple animation and user interaction (event handling).
 
 |  
| Transferable skills | Not entered |  
| Reading list | Not entered |  
| Study Abroad | Not entered |  
| Study Pattern | Not entered |  
| Keywords | CSim |  
Contacts 
| Course organiser | Dr Kevin Stratford Tel: (0131 6)50 6759
 Email: kevin@exseed.ed.ac.uk
 | Course secretary | Mrs Bonnie Macmillan Tel: (0131 6)50 5905
 Email: Bonnie.MacMillan@ed.ac.uk
 |   |  © Copyright 2014 The University of Edinburgh -  29 August 2014 4:37 am |