York University
Winter 2016 – Course Website
Basic Information
- Course Description: The symbolic and numeric computing environments provided by Maple and Matlab are used to solve problems in mechanics and electromagnetism. Two lectures (1.5 hours each) and three laboratory hours every week. One term. Three credits. Prerequisites: SC/PHYS 1010 6.00 or a minimum grade of C in SC/PHYS 1410 6.00 or SC/PHYS 1420 6.00; One of LE/CSE 1020 3.00, LE/CSE 1540 3.00; SC/MATH 1014 3.00 or equivalent. Co-requisite: SC/MATH 2015 3.00 or equivalent, SC/MATH 2271.
- Location & Time: MWF 11:30-12:30 (CLH 110) AND M 2:30-5:30 (ACW 203)
- Course Syllabus (includes course logistics): here (pdf)
- Instructor: Christopher Bergevin
Office: Petrie 240
Email: cberge [AT] yorku.ca
Office Hours: W 2:45-4:30 (try to email ahead of time if possible) and by appointment
Phone: 416-736-2100 ext.33730 - TAs: Azita Jovaini (jovaini@yorku.ca) & Alex Pouliot (alexpouliot@live.com, apouliot@yorku.ca) Office Hours: TBD (or by appt.)
- Marker: Harneet Dhillon (harneet2@yorku.ca)
- Text A First Course in Computational Physics, Second Edition, by P.N DeVries & J.E. Hasbun (Jones & Bartlett Learning, 2010)
→ Via YorkU, you may be find this text useful (accessible online via York libraries): here
Updates and useful bits
- [04.14.16] The final exams have been graded (by CB). Cumulative scores can be found here.
- [04.13.16] For those with the skills, consider this opportunity to pay the bills…
- [04.04.16] The final exam will take place on Wednesday 4/6 from 7-10 in TEL 0001. The exam is comprehensive, but will chiefly focus on material since the midterm. The general format will be very similar to the midterm. Keep in mind that you can still bring a single double-sided sheet with anything you like on it to the exam (which you also must turn in). Alex will hold a review session on Tuesday 4/5 in CLH 110 (our usual lecture room) from 2-5. Come prepared w/ questions and whatnot.
- [04.01.16] All current PHYS 2030 students are eligible to apply for a travel award to the 2016 CAP meeting. Details are provided here (ignore requirement that you need to be a PHYS or BPHS student).
- [03.29.16] Grades for the presentation component of the project will be returned in class on 3/30. Such (along w/ the feedback on such) should help getting the final report (due in class on 4/4) together. Some specific tips:
- While the report should be only 4-5 pages, fell free to add appendices with more detailed information if you feel it is appropriate.
- Make sure to clearly cite any references used!
- The feedback you got during the presentation (e.g., questions asked) should be very helpful in writing your report. Try to extend beyond just what was in the presentation.
- The report’s narrative should have one clear/coherent “voice”. Put another way, write this together, but revise so different contributions pasted together don’t create a disjointed sense.
- Everyone should contribute to this report, just like everyone should have contributed up to this point already. Towards this end, you are also expected to hand in your student evaluation sheets (i.e., you assess the performance/contributions of others in your group). Such is important in many ways. And please do not simply give everyone a high score in your group (you will be penalized unless such is suitably justified!).
- [03.23.16] The 3/23 and 3/28 notes (both now posted) re DAQ might be useful as you head into the final stretch re your group project presentations, which take place on the afternoon of 3/28.
- [03.15.16] The final exam will take place on Wednesday April 6 from 7-10 PM in TEL 0001.
- [03.08.16] Scores for the midterm can be found here (as generated via this code). There were some minor errors on the grading (instructor’s fault, not the grader; see if you can find them). To account for such, add +5 to the score on your exam handed back in class (e.g., if you got 68.5%, your score is really 73.5%).
- [03.04.16] As we head towards Fourier analysis, this reference (from David Morin at Harvard) may be useful.
- [03.02.16] Revised list for the project groups can be accessed here. Remember that proposals will be due during the lab session on Monday 3/7. Arduinos will be distributed in class tomorrow to the groups.
- [03.02.16] To make a connection point between topics covered previously in the “linear systems” portion of the course (e.g., eigenvalues) and some practical engineering topics, this article might be of interest.
- [02.28.16] The overview for the class project can be accessed here. Groups will be assigned at tomorrow’s lab session (after the midterm), so it will be important to be in attendance.
- [02.28.16] Reminder, the class midterm takes place tomorrow. Details are below.
- [02.17.16] Due to some unexpected issues, we have lost Ivan as a grader and William as a TA. Fortunately, we have gained Azita (jovaini@yorku.ca) who will be filling in for their roles and should be a big help. You’ll meet her for the first time on the 2/22 lab session.
- [02.17.16] The class midterm will take place in class on 2/29. It will be a written exam, chiefly focusing on conceptual aspects to all the topics covered in class so far. Any material incorporated into lectures up until 2/12 is fair game (material from Prof. Wilson’s lectures will appear on the final exam). This includes all material in the course slides themselves, as well as topics as discussed in class. The ‘suggested’ reading from DeVrie’s and Kutz’s books supplements the lecture topics and is recommended to be look at closely. You may be asked to write Matlab syntax-specific sections of code. One suggested means to prepare to work thorough the ‘Post class exercises’ suggested for each lecture. Also, as per the course syllabus: “Students will be allowed to bring a single page (double-sided) of notes with them for each exam. Note, as specified in the lateness policy below, there are no makeups”.
- [02.11.16] Details on the class project will soon be made available. But in short, you will be provided one of these, placed in a randomized group, and asked to measure “something” and analyze said data. Such will be tied to a proposal that the group must submit, and subsequently the group will need to write a short report and give an oral presentation on their project.
- [02.11.16] There will be no classes held during Reading Week (Feb.15-19). Also, the instructor will be out of town the following week (Feb.22-26), though classes will still be held (details to be posted). Also keep in mind that the midterm will be held in class on Monday (Feb.29). Notes regarding study tips/strategies will be posted on the website, but in short: anything covered as of 2/12 (and potentially of the week Feb.22-26) in class, on HW, or via assigned reading is fair game. There will also be one more HW assignment beyond what is currently assigned.
- [02.11.16] Another 2030-relevant Slate article entitled How to Teach Yourself About Algorithms. This one features a reference to Click and Clack of Car Talk (these guys are legends, seriously).
- [02.08.16] Tentative time/date for the final exam is Wednesday, April 6 from 7-10 (PM!?!). Note that this is only 2 days after the last day of class(!!?!).
- [02.03.16] Though beyond the scope of PHYS 2030, those interested in learning about open source languages beyond Matlab may want to take a look at these two options: Octave and SciPy (basically Python)
- [02.02.16] A question was raised in class on 2/1 regarding commercializing/selling code you develop. While individuals can certainly pursue directions as they see fit, a sense of “open source” is a powerful pillar of the broader scientific computing community (wikipedia has a fairly extensive page on this front). Just as an example, see this page from the lab of Maria Kilfoil at UMass Physics.
- [02.02.16] Another 2030-relevant Slate article entitled What’s the Deal With Algorithms?
- [02.01.16] Jorge Perez Garcia (jorge07 AT my.yorku.ca) has agreed to be the class rep for PHYS 2030. If you have questions/concerns regarding 2030, consider him a confidential person such can be voiced to.
- [01.22.16] Another interesting article on Slate.
- [01.11.16] Good news. You guys should have access to the math department’s Gauss Lab (Ross S110; see this link for more info). You’ll need to activate an AML accept via Passport York (starting 1/12) and pick up an pick access card from Computing Commons (PSII; see this for more info). The lab is open 8:30 -23:00 during weekdays, but more-or-less closed during these times (due to classes being taught in there; “Students are strongly advised not to go during lecture time, though in some case if they are super quiet, instructor won’t mind their existence.”).
- [01.05.16] An interesting article on Slate. Note that there is a lot of interesting input in the “comments” section too! Such as this link (which seems to indicate that Matlab’s star is rapidly falling!).
- [01.04.16] First day of class. There will be no lab this first week (i.e., the first lab is Monday 1/11/16). Note that there will not be any Wednesday labs (i.e., everyone must take the Monday afternoon lab).
- Note that for all assignments, you should write (and hand in a copy of) your own code. It is okay to look at and utilize the example codes provided here (or from fellow students), but you must write your own version of code (as indicated in the course syllabus). Also in order to receive full credit, you must provide sufficient (but concise) explanation as to how you arrived at your answer.
- Here are some links to resources that might be useful:
- Guide to get Matlab running remotely (via York’s internal server). Guide to help get you started with plotting in Matlab. Lastly, here is link to archived materials from EECS 1541 W2014 (thanks to Prof. Burton Ma).
Class Notes
- 04.04.16 – Course summary
- Reminder: The final exam will take place on Wednesday Apr.6, 7-10 PM in TEL 0001.
- Slides
- Example codes (we didn’t cover these in class and thus they will not be on the exam, but may be of interest): Autocorrelation and noisy (periodic) signals (EXautocorr4.m), ‘Object’ position identification (EXfindDots, zipped folder)
- 04.01.16 – Monte carlo II
- Book reading: Kutz ch. 12.3
- Slides
- Example codes: Permutation codes (EXpermutation.m and EXpermutation2.m; you’ll need this and this too), random walk codes in both 1D (EXrandomWalk1D.m) and 2D (EXrandomWalk2D.m), plus three resampling codes (EXresampleLinearFit.m, EXresampleLoess.m and EXresampleLoess2.m; the latter two require loess )
- 03.30.16 – Monte carlo I
- Book reading: Kutz ch. ch. 12.2 (12.1 is good to read too for general background)
- Slides
- Example codes: EXestimatePI.m (demonstrates how to estimate pi using a random # generator), EXrandomNum1.m and EXrandomNum2.m (two simple/clunky/underachieving random # generator algorithms), EXintegrateMC1.m (demonstrates integration using two different Monte carlo approaches), and EXgaussian1 (demonstrates how to build up a Gaussian distribution from a uniform distribution; also allows for a nonlinear regression to fit the appropriate function, but also requires this and this)
- 03.28.16 – DAQ II
- Book reading: Kutz ch. 6.1-6.3
- Slides
- Example codes: Turbine model (EXturbine.m; see also this)
- 03.25.16 – No class (holiday)
- 03.23.16 – DAQ I
- Reading: This link has some helpful general background
- Book reading: Kutz ch. 6.1-6.3
- Slides
- Example codes: Frequency quantizing (EXquantizeF.m), Averaging (EXaveraging.m), ‘Classic curves’ (EXclassicCurves.m)
- 03.21.16 – Convolutions & Filtering (cont)
- Book reading: DeVries ch.6.7
- Slides (cont. from 3/18)
- 03.18.16 – Convolutions & Filtering
- Book reading: DeVries ch.6.7
- Pre-Problem
- Slides
- Example codes: EXconvolution1.m (demonstrates how two simple waveforms are convolved; you’ll also need this), EXconvolution2.m (demonstrates convolving a sampled sinusoid with an impulse), EXsharpenImage.m (simple code to demonstrate 2-D convolution in spatial domain within context of image processing)
- 03.16.16 – Fourier V – Extensions
- Pre-Problem
- Slides
- Link to a webpage describing one means to make ‘photo mosaics’
- Example codes: EXquantizeF.m (demonstrates windowing and the effects of ‘quantizing’ frequency)
- 03.14.16 – Fourier IV – Computational intuition
- Pre-Problem
- Slides
- Example of Tuvan throat singing (mp3 of Huun Huur Tu)
- Example codes: EXbuildImpulse (zipped folder containing relevant pieces to build up an impulse from the Fourier components) and EXspecREP3 (zipped folder containing relevant pieces to to fiddle with a variety of 1-D discrete Fourier transform properties)
- 03.11.16 – Fourier III – Mathematical background
- 03.09.16 – Fourier II – Introduction (cont.)
- Pre-Problem
- Slides (cont. from 3/7)
- 03.07.16 – Fourier I – Introduction
- Book reading: DeVries ch.6.1-6.2, Kutz ch. 13.1
- Pre-Problem
- Slides
- Potentially useful reference
- Example codes: EXspectrogram.m (makes a spectrogram of a .wav file; the two .wav files used in the slides can be downloaded here and here) and 2D_Fourier (zipped folder containing relevant pieces for 2-D Fourier demonstration)
- A very useful/interesting reference can be found here and here
- 03.04.16 – Nonlinear systems II – Chaos, Period doubling
- Book reading: DeVries ch.1.14
- Pre-Problem
- Slides
- Example codes: EXfractal2.m (generate Julia set) and EXlogisticBIF.m (generate period doubling cascade for Logistic map)
- 03.02.16 – Class postponed (weather-related travel issues)
- 02.29.16 – Midterm exam
- 02.26.16 – Midterm review
- Note: The course TAs will be running the show. See notes above for further info.
- 02.24.16 – Linear & nonlinear discriminant analysis
- Note: Prof. Hugh Wilson (link) will be covering today’s lecture
- Book reading: Kutz pgs.442-445
- Pre-Problem
- Slides
- Example codes: EXfischerLDiscrim.m (Fischer discriminant codes)
- 02.22.16 – Principle component analysis (PCA)
- Note: Prof. Hugh Wilson (link) will be covering today’s lecture
- Book reading: Kutz pgs.387-393
- Pre-Problem
- Slides
- Example codes: EX2Dpca.m (demonstrates a 2-D PCA analysis), EX3Dpca.m (demonstrates a 3-D PCA analysis), EXgramSchmidt.m (demonstrates Gram Schmidt orthonormalization)
- 02.12.16 – Nonlinear systems I – Fractals (cont).
- Pre-Problem
- Slides (cont from 2/10)
- 02.10.16 – Nonlinear systems I – Fractals
- Pre-Problem
- Slides
- Example codes: EXkoch1.m (generate Koch snowflake) and EXfractal1.m (generate Mandelbrot set)
- 02.08.16 – Regression IV – Splines, Non-parametric methods
- Pre-Problem
- Slides
- Example codes: EXsplines1.m (multiple regression), EXregression6 (a zipped folder containing the relevant pieces), and EXloess1.zip
- 02.05.16 – Regression III – Polynomials, Nonlinear functions
- Book reading: DeVries ch.3.15-3.16; Kutz ch. 3.2-3.3
- Pre-Problem
- Slides
- Example codes: EXregression3.m (multiple regression) and EXregression5 (a zipped folder containing the relevant pieces)
- 02.03.16 – Regression II – Linear least squares
- Pre-Problem
- Slides (cont from 2/3)
- 02.01.16 – Regression I – Introduction
- Book reading: DeVries ch.3.14; Kutz ch. 3.1
- Pre-Problem
- Slides
- Example codes: EXregression1.m
- A zipped folder containing the files relevant for deplot can be found here
- 01.29.16 – Linear systems III – , Linearizing nonlinear systems, Examples (e.g., Eigenfaces)
- Book reading: Kutz ch.2.5
- Pre-Problem
- Slides (same as 1/27)
- 01.27.16 – Linear systems II – Eigenvalues and Eigenvectors
- Book reading: DeVries 5.24-5.26 (such extends a bit beyond the scope of 2030 though); Kutz ch.2.4
- Pre-Problem
- Slides
- Example codes: LINode45EX.m and LINfunction.m (linear autonomous system code)
- 01.25.16 – Linear systems I – Introduction and Motivations
- Book reading: DeVries ch.2.11, 5.22; Kutz ch.2.1-2.2
- Pre-Problem
- Slides
- Example codes: VDPode45EX.m and VDPfunction.m (van der Pol oscillator)
- Useful reference on LU decomposition
- 01.22.16 – Differential equations IV
- Book reading: DeVries ch.5.10-5.11
- Pre-Problem
- Slides (same as 1/20)
- 01.20.16 – Differential equations III – Built-in solvers, Higher order systems
- Book reading: DeVries ch.5.5-5.6, 5.9
- Pre-Problem
- Slides
- Example codes: ODErkEX1.m (Logistic equation), HOode45EX.m and HOfunction.m (harmonic oscillator)
- 01.18.16 – Differential equations II – Euler’s method, Runge-Kutta
- Book reading: DeVries ch.5.1-5.4
- Pre-Problem
- Slides
- Example codes: ODEeulerEX1.m, ODEeulerEX4.m
- 01.15.16 – Differential equations I (cont)
- Pre-Problem
- Slides (same as 1/13)
- 01.13.16 – Differential equations I – Introduction
- Book reading: DeVries ch.1.14 (alludes to chaos), skim over ch.5 (to get a flavor for what is to come)
- Pre-Problem
- Slides
- 01.11.16 – Numerical integration
- Book reading: DeVries ch. 4.1-4.4, 4.6
- Pre-Problem
- Slides
- Example code INTexample1.m
- Barn owl auditory nerve fiber tuning curve data
- 01.08.16 – Numerical differentiation (cont)
- 01.06.16 – Harmonic oscillator, Numerical differentiation
- Book reading: DeVries ch. 3.8
- Pre-Problem
- Slides
- Example code NDexample1.m
- 01.04.16 – Introduction and review
- Book reading: DeVries ch.1.1-1.7, 2.2
- Slides
HW Assignments
Homework should be handed in as a hard copy before the start of class.