02-201/02-601 Programming for Scientists
02-201/02-601 COURSE PROFILE
|Special Permission Required? (If yes, see “Notes:)||No|
|Frequency Offered||Fall & Spring|
|Course Relevance (who should take this course?)||02-601 is designed for first-year graduate students at Carnegie Mellon looking for an intensive but reasonably paced introduction to programming, as a foundation for further programming courses at CMU. 02-201 is designed for undergraduate students at CMU outside of the School of Computer Science who are interested in learning to program in an environment with scientific applications.|
|Key Topics||Scientific topics covered include the following:
Programming topics are listed below.
|Background Knowledge||A strong ability in high school algebra and precalculus is typically helpful, but no prior background in programming is required.|
Programming assignments (30% of grade)
Exams (40% of grade)
Project (15% of grade – 02-601 only)
Pre-class exercises (7.5% of grade)
Attendance and participation (7.5% of grade)
|Most Recent Syllabus||http://compeau.cbd.cmu.edu/wp-content/uploads/2018/01/syllabus_601.pdf|
|Sample Class Notes||http://compeau.cbd.cmu.edu/programming-for-scientists/lectures/|
|Sample Lecture Recordings||https://www.youtube.com/watch?v=I5XCvYs0tGo&list=PL6e46jdIySr-21W8XaP_kownPMbgyamMr|
Our first goal for this course is to make you comfortable writing your own programs and have a better understanding of how computing works, at multiple levels.
Our second goal is to convince you how much fun programming is! Writing a program is like solving a sudoku puzzle — programming tests (and builds!) your powers of concentration and logical thinking. But programming is more rewarding than sudoku because it equips you with a transferable skill instead of the ability to fill in a square of numbers.
Our third goal is to help you understand some fundamental scientific (in particular, biological) algorithms on a high-level.
Finally, for students taking the graduate version of the course (02-601), we want you to gain independence to hack your own scientific problem by planning and executing a longer programming assignment of your own choice, so that you will be capable of programming independently in the future.
|Pre-reqs, Cross List, Related||Cross-listed with 02-201. No prereqs.|
|Updated January 2018|