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.