UCR CS012V Introduction to Computer Science for Science, Mathematics, and Engineering I Syllabus Overview e Online: This is an online course, equivalent to UC Riverside’s CS012 and (in most cases) satisfying the same program or prerequisite requirements as CS012, offered under the auspices of the University of California Online Education campus (UCOE). For general questions about the online courses CS10V & CS12V, email: ucrcs10v@cs.ucr.edu. Important requirements specific to the online version of the course: ● Technical requirements: any computer system with a current browser (i.e. updated within the last few months) - we strongly recommend Chrome; and a reliable broadband internet connection of at least 3Mbps download, 512kbps upload. The course follows a 10-week schedule (compressed to 5 weeks in summer session) similar to a traditional course, with weekly online lectures, labs, office hours, exercises, and assignments with specific due dates, as well as in-person proctored midterm and final exams. While “real-time” participation in the various weekly webcasts will not always be possible for everyone, you are required to participate live in at least one such session each week; participation points will be attached to attendance. These sessions will typically be recorded and made available for later viewing for those who cannot attend. ● You may take the exams either at the scheduled times at UCR, or at an approved proctoring facility, at approximately the same time. You are responsible for making all arrangements and paying any fees that may be involved in taking exams proctored by a third party; and for getting the instructor’s approval for such arrangements beforehand. We generally follow UC Berkeley Extension’s criteria for externally proctored examinations. Sa m pl ● Content: In this course, you will begin to develop the higher-level skills required of a professional programmer. In particular, you will learn object-oriented programming in C++, emphasizing good programming principles in the design and development of substantial programs. Topics include abstract data types, pointers, recursion, linked lists, and basic software engineering principles. Credit is awarded for only one of CS 012 or CS 012V or CS 013. Text book & Course Tools The course portal is CoLE, UCOE’s learning management system: If you are a student at any University of California campus, login via the “UC Campus Student and Faculty” link, select your home campus, and login with your usual credentials; otherwise, login via the Guest and Non-UC Student link, and login with the username/password you were given at enrollment. However, the only regular use we will make of CoLE will be the gradebook; everything else all class discussions and announcements, all course materials and assignments, etc. - will be hosted on the class forum Piazza. ● ● ● e ● pl ● The course text is an online interactive offering available as a paid subscription from Zyante.com - you can preview Chapter 1 for free here. You will also require a separate paid subscription to Codelab, a companion exercise site for Zyante - you can try a demo here. Lectures and Labs will be “webcast” using Adobe Connect: to join these sessions go to Link will be provided later Links to recorded sessions will be made available on Piazza immediately following each webcast. You will develop and test your programs in a collaborative coding environment called Cloud9 You will submit your lab exercises and programming assignments to R’Sub, which will provide instant feedback and grading - you can submit multiple times, and use the feedback to perfect your code - your goal must always be to get a grade of 100% on every submission. Office hours (on-on-one sessions with your instructor or TA) will be via Skype and Cloud9 - details on Piazza. Sa m ● In the first few days of class, we will walk you through the details of subscribing to and using all these tools. Contacts Lead Instructor: Kris Miller (kmiller@cs.ucr.edu) TA: TBD ● ● For general questions about the online courses CS10V & CS12V, email: ucrcs10v@cs.ucr.edu. For help with CoLE, click the Help button (top right corner of every CoLE page). Tentative schedule (subject to change) (Chapters refer to Zyante online tetbook, and corresponding Codelab homework) These topics correspond approximately to chapters 5 - 14: ● Week 1: Functions & Vectors review (Chapters 5 and 6) ● Week 1: Arrays & Selection Sort (Chapter 7) ● Week 2: 2D arrays (Chapter 7) & I/O streams (Chapter 8) ● Week 2: Classes and intro to operator overloading (Chapter 9) ● ● ● ● ● ● Week 3: Pointers and intro to memory management (Chapter 10) Midterm Exam Week 3: Intro to data structures: Linked Lists (Chatper 10) Week 4: Intro to runtime analysis and O notation (Chapter 11) Solving problems with recursion (Chapter 12) Sorting and searching - iterative and recursive algorithms (Chapter 12) Week 4: Class inheritance & polymorphism (Chapter 13) Week 5: Advanced memory management and operator overloading (Chapter 14) Week 5: Review for final exam Final Exam Coursework & Grading e The largest blocks of points are, of course, reserved for the programming assignments, and the two exams, but we still award a significant portion as recognition of the effort you will have to put into mastering the material: Course participation: 20% This consists of the various activities throughout the quarter: ● the activities and exercises you complete as you read the Zyante text (5%); ● the corresponding Codelab coding exercises (5%); ● labs (5%), ● live participation in at least one full webcast each week (5%) We encourage you to collaborate freely via Piazza and Cloud9 in all such exercises! ● Programming assignments: 20% Most weeks, there will be a formal programming assignment, with detailed specifications of a problem to be solved, along with considerable guidance on how to construct the program. NO collaboration - you are required to complete these programs ON YOUR OWN! You are not permitted to get any outside help from anyone other than the instructor or TA (with the exception of general questions - no code! - on Piazza). You may submit your program multiple times to R’Sub, which will give you instant automated feedback and grading; ● Mid-term exam: 20% This will be a proctored exam held in week 5. You may take the exam at the scheduled time on campus, or make prior arrangements to take it at an approved proctoring center, as described above. ● Final exam: 40% Proctored exam at the end of quarter, with same arrangements as the mid-term. Sa m pl ● (If you get less than 70% on the final exam, you cannot receive better than a C- for the course as a whole.) Submissions Most weeks, you will have multiple assignments due: ● Zyante reading/activities ● Codelab exercises (paired with the Zyante readings) ● Lab exercises ● Programming assignments Due dates & times for these submissions will be maintained on the Piazza Resources page. Late Policy Sa m pl e No submissions will be accepted after its late deadline, NO EXCEPTIONS. ● Programming Assignment - up to 24 hours after deadline (80% max score) ● Codelab exercise - up to 24 hours after solution posted (50% penalty) ● Lab exercises - NO LATE submissions