ECE 15 Syllabus - Spring 2022
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
ECE 15 Syllabus - Spring 2022
Course Communications - Piazza
We will use Piazza for all course related (non-realtime) communications. You can post questions to the entire class or to the instructional team.
Make messages private if they include code or would otherwise violate the academic integrity policy. When in doubt, make your post private; we always have the option to change it to public if we feel everyone could benefit from the question. If you select "Instructors" in the 'Post to' field (rather than the entire class), only the instructor and the IAs can read these messages. You can also send private messages on piazza by selecting specific people in the 'Post to' field. Use this to contact the individual IAs or the instructor. In that case, start the 'summary line' of the message with "Private: ".
Do NOT use the Canvas mailing feature to contact us. We will NOT respond to those messages. If you need to send a private message to the instructor, you can use his ucsd email address (but any course related questions should ideally be through Piazza).
Calendar
Check your Canvas Calendar for the due dates of the various assignments in this class: programming assignments (PAs), readings, logistics tasks, etc. It is your responsibility to be aware of all the deadlines and deliverables.
Course Setup - Active Learning
You learn to program not by being told about it, but by doing. The programming assignments (PAs) are therefore one of the most crucial parts of this course.
Before you can work on these PAs, you need to be familiar with the basic concepts. Specifically, this means ( 1) knowing how to think as a programmer and (2) knowing the syntax (i.e., the rules) of the C programming language. In lecture, we will help you with ( 1), how to think about code. However, we don’t believe lectures are a good place to tell you about (2): the syntax. It would quickly become very boring. Rather, it is much easier to read about the syntax rules on your own. This is why this course is structured as a flipped classroom.
In a flipped classroom you need to do work BEFORE you come to lecture!
● Reading Assignments: This is where you will learn the syntax of C. You will need to do this BEFORE the lecture. The reading assignments are accompanied by a Canvas reading quiz, which is due before the relevant lecture.
● Lecture: In lecture, we will recap the most important and confusing concepts that you studied in the reading assignments. And then we will apply these. The idea is that you learn in class by doing, by working through problems, by discussing problems, by thinking about code. Lecture time is not about you passively listening, but about you actively participating. To facilitate this, we will be using a student response system called Webclicker. If you attend lectures, it is expected that you participate and vote in the polls using Webclicker. Tutors are present to help you as well.
● Discussion: The TAs will go over additional practice problems and review the most difficult material from the previous week. While there are two concurrent discussions listed on the schedule, we will only hold a single one that everyone is invited to attend irrespective of the one you are enrolled in.
● Programming Assignments: This is where you practice what you have learned and apply it to a larger assignment. These assignments are the homework for this course.
Course Structure and Modalities
Lectures and Discussions
This course is scheduled to be remote, offered synchronously via zoom.
The zoom links are available on Canvas. Lectures and discussions will also be recorded and made available on Canvas for asynchronous viewing. By attending the zoom lectures, you agree to joining a zoom session that is being recorded.
As part of the active learning process, we will use a student response system that allows you to vote on certain questions. This system, called Webclicker, works with your smartphone, tablet or laptop. When you attend the lecture, we expect you to participate in these student polls. Tutors will also be present in lecture to assist you in the active learning process.
Programming Assignments
For the programming assignments, you can use the ECE computer lab, located in Jacobs Hall (EBU1), room 4307 in addition to Zoom based office hours. Please check the “Weekly Schedule” on Canvas when you have access to the lab (it is most times of the week). During several of these hours, there will also be tutors in the lab to help you with the assignments. However, you can also complete the assignments on your own computer by remotely logging into the ieng servers (see Canvas for more information).
The programming assignments get posted on Canvas. They have an official 7pm deadline, and a pre-specified grace period until midnight that same day (which means you are allowed to submit the PAs until midnight, without any penalty). No extensions beyond that will be given. The grace period is meant as a last minute resort in case of unexpected issues. You cannot count on any IA help to be available after 7 pm (i.e., after the official deadline).
You also have the option to resubmit a PA by 7pm four days after the original due date (with a grace period until midnight), to get 50% back of the points you may have missed.
The programming assignments are individual assignments. You cannot share code with other students, look at each other’s code, discuss solution strategies or help debug problems. You cannot ask for help from others or online, post your code anywhere or copy code or code fragments from other sources. The work you turn in must be completely your own, in solution algorithm and execution. You can only help each other by explaining the basic concepts that you learn in the course (e.g., questions you could have asked before you saw the programming assignment). You can only show your code to the instructor, tutors or TAs of the course. Make sure you are familiar with the academic integrity expectations of this course and let us know if you have any questions. Wrong assumptions are never an excuse.
Reading Assignments
The reading assignments are based on a textbook that we wrote specifically for this course. This is available on Canvas as pdf files for each chapter.
A good additional textbook is Programming in C, 4th Edition, by Stephen G. Kochan. This textbook is optional.
Exams
There is no midterm exam. The final exam is scheduled as a remote exam during the scheduled final exam slot during finals week.
Instructor Office Hours
The instructor office hours are remote via zoom (the link can be found on Canvas under Zoom Links).
Tutoring Hours
There will be tutoring hours in the computer lab (Jacobs Hall EBU1) and remote tutoring hours via zoom as well. All this information is under the “Weekly Schedule” on Canvas. It lists the in-person tutoring hours and the remote ones in different colors.
The zoom link for the remote tutoring hours can be found on Canvas under Zoom Links. We will use the breakout room feature in Zoom to talk to you in private (e.g., when you want to share your screen with us without other students in office hours seeing it). If you get to the Zoom meeting and you find nobody there, it is probably because we are in such a breakout room. Just wait for a bit; we will get back to the main room when we are done helping the other student.
Academic Integrity
Integrity of scholarship is essential for an academic community. The University expects that both faculty and students will honor this principle and in so doing protect the validity of University intellectual work. For students, this means that all academic work will be done by the individual to whom it is assigned, without unauthorized aid of any kind. Specifically, the programming assignments are to be completed individually. It is not allowed to copy code from other students, online sources or any other resources.
Cheating, plagiarism and any other form of academic dishonesty will not be tolerated. This includes cheating on exams, using resources that are not allowed, lying to IAs or the instructor, aiding in plagiarism or cheating, or any form of dishonesty. Never claim work/ideas to be yours if they are not, and never assist others in cheating (e.g. by offering them your solutions). Do not post solutions or code online, even after you have finished the course. Collaborating with other students to develop, complete or correct course work is limited to activities explicitly authorized by the instructor. Use of other students’ course work, in part or in total, to develop, complete or correct course work is unauthorized. You cannot show your code to other students. If you are not sure of what is allowed, ask the instructor. Wrong assumptions are never an excuse.
Each student is responsible for knowing and abiding by UCSD’s policies on Academic Dishonesty and on Student Conduct. Any student violating UCSD’s Academic Dishonesty or UCSD’s Student Conduct policies risks an F in the course and will be reported to their college Dean for administrative processing. Committing acts that violate Student Conduct policies that result in course disruption are cause for suspension or dismissal from UCSD. For more information, check out theUCSD Academic Integrity website.
Grades
Total Grade
Grade breakdown:
50%
5%
45%
programming assignments
reading quizzes
final
Note:
● Some PAs consist of multiple parts. Whatever is due each week is considered a weekly PA part.
● There is a Canvas assignment in which you are asked to accept the Academic Integrity policy of this course. If you do not complete this assignment, we will automatically deduct 20% from your total grade.
Letter Grades
The total grade will translate into your letter grade as listed below. However, if your score in the final exam is below 35%, you can at most get a D. If your score in the final exam is below 25%, you will get an F.
80 – 85% |
- |
85 – 95% |
A |
95 – 100% |
A+ |
65 – 70% |
- |
70 – 75% |
B |
75 – 80% |
B+ |
50 – 55% |
- |
55 – 60% |
C |
60 – 65% |
C+ |
0 – 40% |
F |
40 – 50% |
D |
|
|
It is important to know that the class is not curved because students come in with vastly varying levels of prior experience. As such, your grade does not depend on how you stack up against other people in the class. The goal is for your grade to represent how much you learned about the basics of programming in C, and we hope everyone will do well in this course. Please support each other (without violating the academic integrity policy).
Lecture Topics
Below is a list of the topics that will be covered in this course:
● Introduction to Programming; Functions; Control of Flow (if/while); Logical Operators
● Integer Variables; Arithmetic Operators; Variable Scope & Stack Frame; Call by Value; Printing/Debugging
● Basic Pointers; Call by Reference; User Input with scanf
● Other Integer types; Character variables; Floating Point variables; Type Conversion and Casting; Compiling a Program; Libraries and Linking; Random numbers
● Binary representation of Integers & Floating Point
● 1D Arrays; Strings; Pointers and Arrays; Pointer Arithmetic; Passing Arrays; Memory Representation of 1D Arrays
● 2D Arrays; Pointers and 2D Arrays
● Dynamic Memory Allocation
● Structs; Enums
Getting Additional Help
ECE Tutoring
The ECE tutoring center has a number of tutors to help you with a variety of core ECE classes. For more information, check out theECE tutoring website.
IDEA Center
The IDEA Engineering Student Center is a hub for student engagement, academic enrichment, personal/professional development, leadership, community involvement, and a respectful learning environment for all. It offers a variety of programs: http://idea.ucsd.edu/ .
CAPS
Counseling and Psychological Services offers confidential counseling to students free of charge and has a 24-hour crisis line available at 858-534-3755.
Course Policies
Regrade Policy
For all regrade requests for ECE15, the deadline is exactly one week from the moment the grades are posted. This applies to exams and programming assignments. For reading quizzes, the regrade deadline is one week after the submission deadline for that assignment. Regrade requests result in us looking at the entire assignment (so it is possible you gain points but you might also lose points). Regrade requests are for situations where we made an error in the grading.
For programming assignments, you need to follow the regrade request policies that are outlined in the related document that is posted on Canvas.
For assignments where you submit via Gradescope, regrade requests have to be done via Gradescope.
Recordings
This course uses video and audio recording or other personal information for the purpose of facilitating the course/class/meeting. The lectures and discussions are recorded. For any Zoom meetings, if you have privacy concerns, do not turn on your video and, if you prefer to use a pseudonym instead of your name, please let the instructor know what name you will be using so that they will know who you are during the session. You may use the Zoom private chat feature to comment or ask questions. UC San Diego does not allow vendors to use this information for other purposes. Recordings will be deleted when no longer necessary. However, if cheating is suspected, the recording may become part of the student’s administrative disciplinary record.
Attendance Policy
Attendance in the lectures is highly encouraged. We are creating an active learning environment, and ‘attendance’ does not simply mean being logged on; it involves being mentally present and having an active participation. Being engaged in class is crucial for your own learning, but also for that of your fellow classmates. It only works if everyone is committed to be truly present and to actively participate.
Late Work Policy and Missing Exams
There are no make-ups for exams. Programming assignments have a deadline, and a
pre-specified grace period until midnight that same day. No additional extensions will be granted. Please respect our time and that of your colleagues; plan ahead and submit on time so that we can all progress through this learning experience together.
Professionalism Policy
Please attend to all university policy and class etiquette procedures. Please be attentive, and respectful. Do not disrupt the lectures, act inappropriately, or exhibit other unprofessional behavior. Those not heeding the policies will be removed from the lecture or zoom sessions, so as to not disrupt the learning environment. Habitually engaging in this behavior may result in a reduction in the final class grade (at the complete discretion of the instructor). Harassment or abuse of any kind will not be tolerated, and could lead to expulsion from the class, as well as official reporting (see also Title IX Compliance).
Zoom Policy
During zoom meetings, everyone will be automatically muted. There is a “ raise hand” feature if you want to ask a question. You can also use the chat to ask questions. We will do our best to respond to your questions. It is important to follow proper class etiquette in the zoom sessions as well. This means you shouldn’t be doing non-lecture related things on your computer at the same time. Also, do not be disruptive. If we observe any behavior that we feel impacts other students’ ability to learn, we will remove you from the meeting. Please use your best judgment. The instructor has the final say.
Title IX Compliance
Title IX of the Education Amendments of 1972 is the federal law that prohibits sex discrimination in educational institutions that are recipients of federal funds. The University recognizes the inherent dignity of all individuals and promotes respect for all people. Sexual misconduct, physical and/or psychological abuse will NOT be tolerated. If you have been the victim of sexual misconduct, physical and/or psychological abuse, we encourage you to report this matter promptly. As a faculty member, I am interested in promoting a safe and healthy environment, and should I learn of any sexual misconduct, physical and/or psychological abuse, I must report the matter to the Title IX Coordinator. This does not necessarily mean that a formal complaint will be filed.
If you find yourself in an uncomfortable situation, ask for help. Should you want to speak to a confidential source you may contact the Counseling Center. The Office for the Prevention of Harassment & Discrimination (OPHD) provides assistance to students, faculty, and staff regarding reports of bias, harassment, and discrimination. Students have options for reporting incidents of sexual violence and sexual harassment. Sexual violence includes sexual assault, dating violence, domestic violence, and stalking. Information about reporting options may be obtained at OPHD at (858) 534-8298, [email protected] or http://ophd.ucsd.edu. Students may receive confidential assistance at CARE at the Sexual Assault Resource Center at (858) 534-5793, [email protected] or http://care.ucsd.edu or Counseling and Psychological Services (CAPS) at (858) 534-3755 orhttp://caps.ucsd.edu.
Disability Access
Students requesting accommodations for this course due to a disability must provide a current Authorization for Accommodation (AFA) letter issued by the Office for Students with Disabilities (OSD), which is located in University Center 202 behind Center Hall. Students are required to present their AFA letters to Faculty (please make arrangements to contact me privately) and to the OSD Liaison in the department in advance so that accommodations may be arranged. Contact the OSD for further information:
858.534.4382 (phone)
[email protected](email)
http://disabilities.ucsd.edu (website)
Grades of "Incomplete"
The current university policy concerning incomplete grades will be followed in this course. Incomplete grades are given only in situations where someone currently has a passing grade and unexpected emergencies prevent them from completing the course and the remaining work can be completed the next quarter. The instructor is the final authority on whether you qualify for an incomplete.
Religious Observances
Students are expected to notify their instructor at least a week in advance if they intend to miss class to observe a holy day of their religious faith.
2022-04-14