PSYCH 20A
MATLAB Programming for Behavioral Sciences
Description: Lecture, two hours; laboratory, one hour. Prior programming experience not required. Introduction to MATLAB and programming methods useful in experimental psychology. Reading and writing of code for conducting experiments, analyzing data, and modeling. P/NP or letter grading.
Units: 4.0
Units: 4.0
AD
Most Helpful Review
Winter 2022 - I just want to start off by saying I absolutely love this class with Professor Frane. Grades are not posted yet, but I am very confident in my ability to get an A. If you did well in your first intro to programming class in C++, which is a prerequisite, you will do well in this class. That does not mean go back and study C++. I am trying to say that if you have a good foundation, MATLAB should seem like a blessing. It is very easy to use and understand for beginners. Professor Frane's workload is very minimal, in fact I wished at times that there were more practice problems for us to hone our skills; however, with all of the resources and the help from the instructor and assistants it was not hard to get an A on each assignment so far. My best advice would be to attend the labs ready to talk about the material. That means you MUST watch the lecture videos before coming to lab (even if your lecture is only a few hours before lab like mine is)! This is important because if not then you are confused when the TA asks to help solve the challenge problem. If you watch all of the lecture videos before the lab, participate as much as possible in lab, and take your time on the homework to make it clear and document properly you will do well in this class. Follow all of Professor Frane's tips to ensure your code is clear, concise, and as efficient as possible because this is key. Regardless of whether we were online I believe the class will operate similar. Grading is very fair, I made a few mistakes such as not putting my name in the file name and did not get marked down - even though I clearly did not follow the simplest instructions. You will however get marked down for not getting the correct answer (obviously). You may get a comment regarding how to make something more efficient, but because there are many ways to go about a problem you do not get marked down unless it is wildly inefficient or poor practice (such as hard-coding things or not using a loop when you clearly should have). I came up with some pretty creative solutions that were nothing alike the TAs or Professor Frane's solutions, so don't feel scared to jump in there and try something (you may even come up with a more creative/efficient solution). Another tip I feel is important is to really give yourself a chance to attempt the problem before running to external sources for answers. This will help build that logical foundation that is important for programming. Attendance was only mandatory for labs and we only need to attend 5 of them in total. There were no exams or finals, but 10 homework assignments due every week. These homework assignments act sort of like projects, so it is important to do well on ALL of them. Grading is as follows (right from the syllabus): 93–100%=A ; 90–92%=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– ; 0–59%=F "Grades of A+ are given only in the most extraordinary cases. Your percentage will be rounded down or up to a whole percentage (e.g., 89.4% is a B+, and 89.5% is an A–). "
Winter 2022 - I just want to start off by saying I absolutely love this class with Professor Frane. Grades are not posted yet, but I am very confident in my ability to get an A. If you did well in your first intro to programming class in C++, which is a prerequisite, you will do well in this class. That does not mean go back and study C++. I am trying to say that if you have a good foundation, MATLAB should seem like a blessing. It is very easy to use and understand for beginners. Professor Frane's workload is very minimal, in fact I wished at times that there were more practice problems for us to hone our skills; however, with all of the resources and the help from the instructor and assistants it was not hard to get an A on each assignment so far. My best advice would be to attend the labs ready to talk about the material. That means you MUST watch the lecture videos before coming to lab (even if your lecture is only a few hours before lab like mine is)! This is important because if not then you are confused when the TA asks to help solve the challenge problem. If you watch all of the lecture videos before the lab, participate as much as possible in lab, and take your time on the homework to make it clear and document properly you will do well in this class. Follow all of Professor Frane's tips to ensure your code is clear, concise, and as efficient as possible because this is key. Regardless of whether we were online I believe the class will operate similar. Grading is very fair, I made a few mistakes such as not putting my name in the file name and did not get marked down - even though I clearly did not follow the simplest instructions. You will however get marked down for not getting the correct answer (obviously). You may get a comment regarding how to make something more efficient, but because there are many ways to go about a problem you do not get marked down unless it is wildly inefficient or poor practice (such as hard-coding things or not using a loop when you clearly should have). I came up with some pretty creative solutions that were nothing alike the TAs or Professor Frane's solutions, so don't feel scared to jump in there and try something (you may even come up with a more creative/efficient solution). Another tip I feel is important is to really give yourself a chance to attempt the problem before running to external sources for answers. This will help build that logical foundation that is important for programming. Attendance was only mandatory for labs and we only need to attend 5 of them in total. There were no exams or finals, but 10 homework assignments due every week. These homework assignments act sort of like projects, so it is important to do well on ALL of them. Grading is as follows (right from the syllabus): 93–100%=A ; 90–92%=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– ; 0–59%=F "Grades of A+ are given only in the most extraordinary cases. Your percentage will be rounded down or up to a whole percentage (e.g., 89.4% is a B+, and 89.5% is an A–). "
Most Helpful Review
Fall 2020 - Here is a breakdown of this class as of Fall 2020 (subject to change): Homework: 10 points each (4 homeworks); 40% Projects: 12 points each (3 projects); 36% CCLE Quizzes: 5 points each (5 quizzes); 25% SONA Extra Credit: up to 3 points; 3% **Each assignment offers a variable amount of extra credit** Thoughts on graded materials: Homework: 4 total due a week after they're assigned. The difficulty spikes in homeworks 3 and 4 were ridiculous in my opinion, and it reflected in the class as each had to be given multiple extensions. Each offers a variable amount of extra credit. Projects: 3 total (including final project) although only two have do be submitted for some point value in order to complete the course. First project was relatively easy and the second one I barely did only to pass. Each offers a variable amount of extra credit. CCLE Quizzes: Assigned weekly up until quiz 5 (we had to take a 6th because someone cheated). These are open book, open MATLAB and are easy to ace. Each offers 1 point of extra credit. Overall thoughts on the course: So I can assume this professor has a 5.0 overall either because the assignments he gave in earlier quarters were more reasonable or because the people who did well had prior coding experience, making this class a cakewalk for them. If you have prior coding experience, this class should be a breeze for you. However, as someone who had no prior coding experience, I cannot in good conscience give this professor a dazzling review. Mansolf is extremely overrated on Bruinwalk, at least according to what I experienced. To start, this class is high risk/high reward in terms of grading as each point you earn/lose counts towards a percentage of your grade. This wouldn't be so bad is the professor didn't give assignments with difficulty spikes tailored more towards those with prior coding experience. If you're a complete beginner like myself, good luck trying to get help from him and the TA because they won't even look at your individual code. This makes posting on the open forum and emailing extremely frustrating as they give completely useless responses or things you already thought of before. It wouldn't be so bad if the grading was not so high risk, but adding those unnecessary difficulty spikes made things 10x more stressful as one screw-up meant your overall grade going down significantly. On top of that, some assignments clearly required some knowledge of mathematical concepts outside the scope of this course, yet he expected you to know what to do regardless. Also, don't even bother going to lab since it is completely pointless and unhelpful in helping you solve some of the assignments. Overall, this class made me realize I'd be better off learning to code outside of a school setting as professors will give you impractical assignments that will make you tear your hair out. In conclusion, if you already have some coding knowledge, this class is good but if you are a complete beginner, just learn outside of the classroom without risking your GPA.
Fall 2020 - Here is a breakdown of this class as of Fall 2020 (subject to change): Homework: 10 points each (4 homeworks); 40% Projects: 12 points each (3 projects); 36% CCLE Quizzes: 5 points each (5 quizzes); 25% SONA Extra Credit: up to 3 points; 3% **Each assignment offers a variable amount of extra credit** Thoughts on graded materials: Homework: 4 total due a week after they're assigned. The difficulty spikes in homeworks 3 and 4 were ridiculous in my opinion, and it reflected in the class as each had to be given multiple extensions. Each offers a variable amount of extra credit. Projects: 3 total (including final project) although only two have do be submitted for some point value in order to complete the course. First project was relatively easy and the second one I barely did only to pass. Each offers a variable amount of extra credit. CCLE Quizzes: Assigned weekly up until quiz 5 (we had to take a 6th because someone cheated). These are open book, open MATLAB and are easy to ace. Each offers 1 point of extra credit. Overall thoughts on the course: So I can assume this professor has a 5.0 overall either because the assignments he gave in earlier quarters were more reasonable or because the people who did well had prior coding experience, making this class a cakewalk for them. If you have prior coding experience, this class should be a breeze for you. However, as someone who had no prior coding experience, I cannot in good conscience give this professor a dazzling review. Mansolf is extremely overrated on Bruinwalk, at least according to what I experienced. To start, this class is high risk/high reward in terms of grading as each point you earn/lose counts towards a percentage of your grade. This wouldn't be so bad is the professor didn't give assignments with difficulty spikes tailored more towards those with prior coding experience. If you're a complete beginner like myself, good luck trying to get help from him and the TA because they won't even look at your individual code. This makes posting on the open forum and emailing extremely frustrating as they give completely useless responses or things you already thought of before. It wouldn't be so bad if the grading was not so high risk, but adding those unnecessary difficulty spikes made things 10x more stressful as one screw-up meant your overall grade going down significantly. On top of that, some assignments clearly required some knowledge of mathematical concepts outside the scope of this course, yet he expected you to know what to do regardless. Also, don't even bother going to lab since it is completely pointless and unhelpful in helping you solve some of the assignments. Overall, this class made me realize I'd be better off learning to code outside of a school setting as professors will give you impractical assignments that will make you tear your hair out. In conclusion, if you already have some coding knowledge, this class is good but if you are a complete beginner, just learn outside of the classroom without risking your GPA.