layout | title |
---|---|
syllabus |
Syllabus |
This course is intended to be a broad overview of many different aspects of computation in astronomy. Beginning with developing conversational computational abilities, we will progress to learning about image processing, ODE solvers, conducting simulations, using databases, and how computer architecture can influence speed and reliability of calculations.
This course is designed to provide practical, hands-on experience with computation as applied to astronomy and astrophysics. This encompasses several different components, but will primarily focus on items related to simulations, data processing, visualization, and overall computational skills. The course is not designed to provide detailed information about each of these topics, but instead to provide enough points of information to allow students to follow up on their own or during future research.
This course will involve a considerable amount of programming as well as utilizing a Unix-like command line. We will primarily use Python for in-class work, but will have forays into C, Fortran, and potentially C++.
The course has two sections each week, one on Tuesday and one on Thursday. Typically, these 90-minute sections will be broken into two components: an initial lecture, followed by hands-on collaborative work on laptops. During the lecture, concepts will be introduced that will be applied during the second component.
Students are expected to have laptops with them, as well as access to Python installations, and will be encouraged to participate in class.
None, although basic Python programming experience is assumed.
There is no textbook for this course. All course materials will be posted to the GitHub repository at https://github.com/matthewturk/astr496-spr2018/ which will be automatically built into a website accessible at matthewturk.github.io/astr496-spr2018/ .
As the course progresses, a list of recommended readings will be generated for each class. These will be included in the course materials repository, and students are encouraged to fork that repository and issue pull requests to add suggested readings.
Matthew Turk is an Assistant Professor at the School of Information Sciences with a joint appointment in Astronomy.
The campus-wide Writers Workshop provides free consultations. For more information see http://www.cws.illinois.edu/workshop/.
Please review and reflect on the academic integrity policy of the University of Illinois, http://admin.illinois.edu/policy/code/article1_part4_1-401.html to which we subscribe. By turning in materials for review, you certify that all work presented is your own and has been done by you independently, or as a member of a designated group for group assignments. If, in the course of your writing, you use the words or ideas of another writer, proper acknowledgment must be given (using APA, Chicago, or MLA style). Not to do so is to commit plagiarism, a form of academic dishonesty. If you are not absolutely clear on what constitutes plagiarism and how to cite sources appropriately, now is the time to learn. Please ask me! Please be aware that the consequences for plagiarism or other forms of academic dishonesty will be severe. Students who violate university standards of academic integrity are subject to disciplinary action, including a reduced grade, failure in the course, and suspension or dismissal from the University.
Inclusive Illinois Committee Diversity Statement
As the state's premier public university, the University of Illinois at Urbana-Champaign's core mission is to serve the interests of the diverse people of the state of Illinois and beyond. The institution thus values inclusion and a pluralistic learning and research environment, one which we respect the varied perspectives and lived experiences of a diverse community and global workforce. We support diversity of worldviews, histories, and cultural knowledge across a range of social groups including race, ethnicity, gender identity, sexual orientation, abilities, economic class, religion, and their intersections.
To obtain accessibility-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES you may visit 1207 S. Oak St., Champaign, call (217) 333-4603 (V/TTY), or e-mail a message to [email protected].
Students will be graded based on a combination of assignments (70%) and a final project (30%). The final project will be a capstone to the course, and will have greater flexibility in software packages and data sources. This project will be introduced in Week 8.
Assignments in this course will be a mixture of coding/visualization work and written work. These two may not be distinct assignments; students will be asked to describe their code and justify choices for making decisions with respect to visualizations.
Students are expected, unless otherwise instructed, to be the principal authors of their code. This does not mean they may not investigate resources such as StackOverflow, package documentation, etc; however, they must cite when resources (especially StackOverflow and other "recipe" sites) are utilized.
Assignments will take two forms, and will be given at the end of each class. Students will have until the following class to turn these in; assignments will be collected electronically.
- The first type of assignment will be a written document, constituting either a brief literature review or an analysis of a visualization or set of visualizations. The parameters for these assignments will be given during class, but will typically involve a critique of a visualization, including citing relevant works in the visualization literature.
- The second type of assignment will be a hands-on, code-based assignment. Students will be provided either a dataset or a class of datasets from which they can choose, and construct one or multiple mechanisms of drawing information out of this visually. These will be submitted in the form of Jupyter notebooks. Each visualization must be accompanied by narrative description from the student describing why design decisions were made.
The submission process for homeworks will be described by example during class before any homeworks are to be submitted.
Each assignment will be 50% "correctness" and 50% the narrative description of the process. "Correctness" in this case indicates that the code runs without issue, results are produced, and each component of the assignment is completed. The narrative description of the process will be graded on grammar and completeness.
All assignments are required for all students. Completing all assignments is not a guarantee of a passing grade. All work must be completed in order to pass this class. Late or incomplete assignments will not be given full credit unless the student has contacted the instructor prior to the due date of the assignment (or in the case of emergencies, as soon as practicable).
Grading Scale:
| 94-100 = A | 90-93 = A- | 87-89 = B+ | 83-86 = B | 80-82 = B- | 77-79 = C+ | 73-76 = C | 70-72 = C- | 67-69 = D+ | 63-66 = D | 60-62 = D- | 59 and below = F
Students must request an incomplete grade from the instructor. The instructor and student will agree on a due date for completion of coursework and the student must file an Incomplete Form signed by the student, the instructor, and the student's academic advisor with the School's records representative. More information on incompletes is available here: http://webdocs.ischool.illinois.edu/registration/incomplete_grade_form.pdf
Students are required to attend each class, and if they are unable to do so much notify the instructor and TA in advance and request an excused absence. Participation in class -- in the form of comments, questions, and discussion -- is expected.
This is the first semester that this course is being taught. As such, the course outline below is subject to some flexibilty; students will be encouraged to provide feedback on the topics covered, particularly toward the end. Topics that are of particular interest will be emphasized.
- Week 1 (Jan 16): Conversational Computation
- Week 2 (Jan 23): Basics of Python for Science
- Week 3 (Jan 30): TBA
- Week 4 (Feb 6): Reproducible Research
- Week 5 (Feb 13): Images and Observations
- Week 6 (Feb 20): ODE solvers
- Week 7 (Feb 27): Memory, Instructions, and Speed
- Week 8 (Mar 6): Introduction to Simulations
- Week 9 (Mar 13): Simulations: Particles
- Week 10 (Mar 20): No Class (Spring Break)
- Week 11 (Mar 27): Simulations: Grids
- Week 12 (Apr 3): Visualization
- Week 13 (Apr 10): Databases: SQL
- Week 14 (Apr 17): Data Storage
- Week 15 (Apr 24): Accelerators
- Week 16 (May 1): Future Directions
Emergencies can happen anywhere and at any time. It is important that we take a minute to prepare for a situation in which our safety or even our lives could depend on our ability to react quickly. When we're faced with any kind of emergency -- like fire, severe weather or if someone is trying to hurt you -- we have three options: Run, hide or fight.
Leaving the area quickly is the best option if it is safe to do so.
- Take time now to learn the different ways to leave your building.
- Leave personal items behind.
- Assist those who need help, but consider whether doing so puts yourself at risk.
- Alert authorities of the emergency when it is safe to do so.
When you can't or don't want to run, take shelter indoors.
- Take time now to learn different ways to seek shelter in your building.
- If severe weather is imminent, go to the nearest indoor storm refuge area.
- If someone is trying to hurt you and you can't evacuate, get to a place where you can't be seen, lock or barricade your area, silence your phone, don't make any noise and don't come out until you receive an Illini-Alert indicating it is safe to do so.
As a last resort, you may need to fight to increase your chances of survival.
- Think about what kind of common items are in your area which you can use to defend yourself.
- Team up with others to fight if the situation allows.
- Mentally prepare yourself -- you may be in a fight for your life.
Please be aware of persons with disabilities who may need additional assistance in emergency situations.
- police.illinois.edu/safe for more information on how to prepare for emergencies, including how to run, hide or fight and building floor plans that can show you safe areas.
- emergency.illinois.edu to sign up for Illini-Alert text messages.
- Follow the University of Illinois Police Department on Twitter and Facebook to get regular updates about campus safety.