COMPTNG 40A
Introduction to Programming for Internet
Description: Lecture, three hours; discussion, two hours. Requisites: course 10A or Computer Science 31 or equivalent, and one from course 10B, 16A, 20A, Computer Science 32, or equivalent, with grades of C- or better. Introduction to programming for World Wide Web for students with strong foundation in programming. HTML5 and CSS3 markup languages to design websites; client-side scripting with JavaScript to enable event-driven interactivity, animations, and cookie tracking; server-side scripting with PHP to render HTML pages, store, and retrieve data on server; and introduction to databases through SQLite3. P/NP or letter grading.
Units: 5.0
Units: 5.0
Most Helpful Review
Fall 2021 - This was probably the best programming class I've taken so far. I was a bit scared to be learning so many languages at once but Michael did a phenomenal job teaching them. I always felt extremely confident going into an assignment. In fact, I had fun doing them. I think my favorite part of the class was that I could see the progress I was making as I completed assignments. Most of the assignments are components that you ultimately compile to create a series of beautiful and interactive web pages that allow users to sign in, play a game, and record their scores. Unlike what I've experienced with some other programming classes, the connections between lecture content and the demands of the assignments were super clear. So if you pay attention in class/watch lectures you should do fine on the assignments. However, the midterm was toughhh. Each question contained some code that presented a concept (like scoping or object inheritance) in a bizarre context and we had to write the correct output. Luckily, there were two grading schemes that shifted the weight between the midterm and final. More luckily, the final was extremely easy. Most of the final exam grade was dependent on the functionality of our final assignment (the series of web pages). A small portion of our final grade was dependent on a short written exam that asked us to write code for potential additions to our project and one unrelated question that asked us to write code to make a simple web page for a specific task (i.e. execute correct output for user's input). Overall, I highly recommend taking this course if you are interested in web design and development. Not only did I learn a lot on this front, but I had a lot of fun doing it and I hope you do as well!
Fall 2021 - This was probably the best programming class I've taken so far. I was a bit scared to be learning so many languages at once but Michael did a phenomenal job teaching them. I always felt extremely confident going into an assignment. In fact, I had fun doing them. I think my favorite part of the class was that I could see the progress I was making as I completed assignments. Most of the assignments are components that you ultimately compile to create a series of beautiful and interactive web pages that allow users to sign in, play a game, and record their scores. Unlike what I've experienced with some other programming classes, the connections between lecture content and the demands of the assignments were super clear. So if you pay attention in class/watch lectures you should do fine on the assignments. However, the midterm was toughhh. Each question contained some code that presented a concept (like scoping or object inheritance) in a bizarre context and we had to write the correct output. Luckily, there were two grading schemes that shifted the weight between the midterm and final. More luckily, the final was extremely easy. Most of the final exam grade was dependent on the functionality of our final assignment (the series of web pages). A small portion of our final grade was dependent on a short written exam that asked us to write code for potential additions to our project and one unrelated question that asked us to write code to make a simple web page for a specific task (i.e. execute correct output for user's input). Overall, I highly recommend taking this course if you are interested in web design and development. Not only did I learn a lot on this front, but I had a lot of fun doing it and I hope you do as well!
AD
Most Helpful Review
Fall 2018 - This class will kick you in the teeth and make you swallow a pint of blood before burying you alive. Michael Lindstrom, who is, in all fairness, a good guy and a smart person, had us cover way too much stuff. If you are considering enrolling in PIC 40A taught by Michael Lindstrom: don't. If you do, I cannot save you. PIC classes are often taught by Miroshnikov. Take classes with him, he is way more realistic with the ammount of work he gives. This class was brutal. I may have been able to get a better grade if I took ONLY this class. We covered HTML, CSS, and JavaScript, the essentials of web programming. But we also spent the other half of the class cramming in PHP and MySQL, as well as wasting time on jQuery. Just save yourself, I am warning you now.
Fall 2018 - This class will kick you in the teeth and make you swallow a pint of blood before burying you alive. Michael Lindstrom, who is, in all fairness, a good guy and a smart person, had us cover way too much stuff. If you are considering enrolling in PIC 40A taught by Michael Lindstrom: don't. If you do, I cannot save you. PIC classes are often taught by Miroshnikov. Take classes with him, he is way more realistic with the ammount of work he gives. This class was brutal. I may have been able to get a better grade if I took ONLY this class. We covered HTML, CSS, and JavaScript, the essentials of web programming. But we also spent the other half of the class cramming in PHP and MySQL, as well as wasting time on jQuery. Just save yourself, I am warning you now.
Most Helpful Review
This is how a typical class would go...Spend the first 45 minutes trying to figure out why his examples don't work, and then begin the days lecture in the remaining 5 minutes. You can spare yourself his sh**ty lectures and learn everything you need from the w3c tutorials. Not especially hard or anything, but nowhere near as cool as I was hoping it would be.
This is how a typical class would go...Spend the first 45 minutes trying to figure out why his examples don't work, and then begin the days lecture in the remaining 5 minutes. You can spare yourself his sh**ty lectures and learn everything you need from the w3c tutorials. Not especially hard or anything, but nowhere near as cool as I was hoping it would be.
AD
Most Helpful Review
Disclaimer: subject to change Lecture: Professor Virtanen almost exclusively uses slides which he subsequently posts on the website. Discussion: TA Emmanuel Morales was very helpful and was willing to stay late during office hours to help people. He also would help via email. Some of the discussions are regular review and some are labs which can be very helpful for the homework. Textbook: Programming the World Wide Web, 7th Edition, by Robert W. Sebesta. I never used it. I found that the slides and the W3Schools.com were more than enough. Class format: 6 Homeworks (30%): The homeworks are more time consuming than difficult. Lowest score is dropped. HW1 (basic HTML) HW2 (styling HW1 with CSS) HW3 (making a calculator with JavaScript) HW4 (JS DOM with cookies) HW5 (PHP) HW6 (adding MySQL to HW5) 2, 4, and 6 were the longer assignments. 2 Midterms (15% each): The prof sends out 3 previous midterms for practice for each midterm. Usually 3 or 4 multi-part questions. Final (40%): An extra optional homework assignment (XML DTD) and 1 practice final are given.
Disclaimer: subject to change Lecture: Professor Virtanen almost exclusively uses slides which he subsequently posts on the website. Discussion: TA Emmanuel Morales was very helpful and was willing to stay late during office hours to help people. He also would help via email. Some of the discussions are regular review and some are labs which can be very helpful for the homework. Textbook: Programming the World Wide Web, 7th Edition, by Robert W. Sebesta. I never used it. I found that the slides and the W3Schools.com were more than enough. Class format: 6 Homeworks (30%): The homeworks are more time consuming than difficult. Lowest score is dropped. HW1 (basic HTML) HW2 (styling HW1 with CSS) HW3 (making a calculator with JavaScript) HW4 (JS DOM with cookies) HW5 (PHP) HW6 (adding MySQL to HW5) 2, 4, and 6 were the longer assignments. 2 Midterms (15% each): The prof sends out 3 previous midterms for practice for each midterm. Usually 3 or 4 multi-part questions. Final (40%): An extra optional homework assignment (XML DTD) and 1 practice final are given.