About this Course: CS303E is the first course in the Programming and Computation series (previously the Elements of Computing series) for non-CS majors. Computing is an integral part of many disciplines. This is especially true of STEM fields, but being able to think computationally and write programs is useful across the board. This course will introduce basics of programming within the context of a popular and powerful programming language, Python. We will study the syntax and special features of Python, develop our own algorithms, and translate them to computer code. We will learn problem solving techniques for a wide variety of problems amenable to computer solution. No prior programming experience is required or assumed. Despite the name, this is almost entirely a programming class; we won't be covering the structure of computers. Students in this class come from a wide variety of majors and backgrounds. If you have previous significant programming experience in high school classes, other college classes, or on your own, you may get bored in this class. Consider taking the available exam to test-out of this course and begin with CS313E instead. You can find information on testing out of the class here: Link omitted. On the other hand, beginning students without much programming experience are often dismayed to find that this class is rather challenging. If you're expecting a class where you don't have to work, this isn't the class for you. Here's some advice on how to succeed in this class: how-to-succeed-in-cs303e.html. Read this. It's a bit long, but contains a lot of useful information, and will likely answer most of the questions you'll have about this class, including many you wouldn't think to ask. This course previously carried the Quantitative Reasoning flag. Flags were recently discontinued. Quantitative Reasoning courses are designed to equip you with the skills necessary for understanding the types of quantitative arguments you will regularly encounter in your adult and professional life. You can expect that a substantial portion of your grade to come from your use of quantitative skills to analyze real-world problems. We don't assume that you're a math major, but some problems may assume basic arithmetic and logic skills; if you don't know something, just ask, and we'll provide additional explanation. During the height of COVID-19, this class was moved entirely online. I found that it worked pretty well in that format, and I kept it that way, until fairly recently. It's now considered a hybrid class, with a weekly Friday in-class section, but is still largely online. Many students love the flexibility, but others don't do as well in this format. If you don't feel that you have the self-discipline to do well in a class that is largely online, I suggest that you sign up instead for the other sections of this class that are taught in a face-to-face format. It will be helpful for you to come to the Friday sessions. They give you the opportunity to ask questions and to see the development of programs in real time. We'll take roll so that students who come can receive a very small extra credit boost to their grade, but there is no penalty for not attending, except that you may not learn the material as well as you otherwise would. Most course content is delivered online via the recorded lectures, which you can view at your convenience, as long as you've viewed them by the week for which they're assigned. Videos and the accompanying slides will typically be made available a week or two before they are due. Make sure to keep up. The recorded lectures and associated slides will be made available to you below on this website. Some of them may also be available via Canvas or elsewhere; but this website should be your go-to location. Despite the largely asynchronous nature of this class, this is not a self-paced course. You are responsible for having viewed the videos the week they are assigned. If you have some special circumstance that makes internet access difficult or impossible, let me know as soon as possible and I can work with you. Class Schedule: The following link is to a schedule that is my best estimate of everything you'll be responsible for this semester: schedule-spring2026.pdf. Homeworks and projects will be posted on this webpage; and may also be posted on Ed or Canvas. Turn in homeworks and projects on Canvas. We'll be providing information on how to take quizzes. Each quiz will count the same as a weekly homework. Questions about Grading: Weekly homeworks, projects, and quizzes are graded by the TAs. Each TA grades for a specific alphabetic range of students' last names. You can find your TA in the chart below (to be posted soon). You will establish a connection to this specific TA; but don't hesitate to attend other TAs' office hours as well. Exams are graded collectively by all of the TAs and the instructor. If you have questions about the grading on homeworks, projects and quizzes, please contact "your" TA. In general, Dr. Young didn't grade your work and won't know why you lost specific points. The TAs have been asked to be understanding and flexible regarding grading issues; but in general, Dr. Young won't override their grading decisions unless the decision was clearly unfair. (If you send him a question about your grade, he'll almost certainly will refer you to your TA. Please don't interpret that as rudeness or being uninterested in your situation. He just literally won't know why you got the grade you did, because it was your TA who assigned it.) If you have a personal emergency and need additional time on an assignment, contact your TA as soon as possible. Again, the TAs have been asked to be lenient and understanding, but don't abuse this. To find your TA, see the TA associated with the alphabetic range containing your last name below. You can find TA emails in the header of this page. That table will be posted here shortly.