UCR CS012V Syllabus - University of California Online

advertisement
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
Download