Frequently Asked Questions
General Questions
Q: What are the most common problems?
A: Students miss lectures and cannot understand the concepts after the missed lectures. Attending lectures is mendatory but some students do not attend every lecture.
Q: Why are lectures so important?
A: You will know if you attend every lecture.
Exams
Q: How many exams?
A: Three midterms and one final.
Q: Are exams open-book and open-note?
A: Yes. The exams are always open-book and open-note.
Q: What happens if I am ill on the day of the exam?
A: Among the four exams, the lowest score is discarded.
Q: What happens if I am ill on the days of two exams?
A: The total score is 110. The additional 10 points accommodate this situation.
Q: I understand the materials but I do not get the points I deserve. How can I improve?
A:
-
Read questions carefully. Many questions have hints or restrictions. If your answers do not meet the restrictions, you will not receive any point.
-
Some questions contain mulitiple parts. Make sure you answer each part.
-
You must write clearly. If your writing is hard to read, you will lose points.
-
Make up your mind and give only one answer to each question. If it is a yes/no question, you should answer either yes or no. Some students answer both yes and no and hope to get 50% points. However, these students will always get zero.
-
Write down your answer. Many students write a lot of explanation without actually answering the questions. For a yes/no question, you MUST answer yes or no. You will definitely lose points if you do not answer yes or no, even if your explanation is correct.
-
Mark you answers clearly. The teaching staff cannot spend a lot of time searching your answers. If your answers are hidden among a lot of words, the teaching staff cannot find them and will give you zero. If you have explanation of your answer, mark your answer by putting it inside a box so that the answer is easy to find.
-
Keep your answers short. Most questions need only a few words or a few lines. If you write a whole page of text, you are going in a wrong direction. It is sometimes true that the more you write, the fewer points you get.
-
Do not write meaningless answers if you know it is meaningless. Some students hope to get some "sympathy points" by sketching something that is obviously meaningless. Please save your own time and the time of the teaching staff. If you have no idea how to answer a question, leave it blank and answer the other questions.
Assignment Submission
Q: Do I need to do all assignments?
A: The total score is 110. You do not have to do all assignments.
Q: What happens if I cannot submit an assignment due to illness or personal reasons?
A: The total score is 110. You do not have to do all assignments.
Q: Do I need to tell the instructor which assignments I skip?
A: No. You do not have to tell anyone. You do not have to explain why you skip a particular assignment.
Q: What should I do if I miss a submission deadline?
A: The total score is 110. You do not have to do all assignments.
Q: Can I send my assignment by email if I am late?
A: Under no circumstance will a late assignment be accepted.
Q: Can you give me an extension? I have another exam on the same day.
A: The total score is 110. You do not have to do all assignments. Under no circumstance will a late assignment be accepted.
Q: I am late by just one minute.
A: Under absolutely no circumstance will a late assignment be accepted. The total score is 110. You do not have to do all assignments.
Q: I have not changed the files on my computer (or in my ECN account). I am not late
A: Your score depends on what you submit, not what is stored on your computer. Under no circumstance will the teaching staff enter your account for grading.
Q: My computer crashed. The network was slow. I missed a bus. Can you give me an extension?
A: Under no circumstance will a late assignment be accepted. The total score is 110. You do not have to do all assignments.
Q: What happens if Blackboard is down?
A: If Blackboard is down within 12 hours before a deadline, the deadline is extended to every student. It is possible to extend a deadline for everyone. It is impossible to extend the deadline for a particular student.
Q: How do I submit the assignments?
A: Through Blackboard.
Q: Can I send you my program by email?
A: No.
Q: If I find a problem after I have submitted my program, can I correct it?
A: You can withdraw your submission and resubmit before the deadline. Please be aware that if you withdraw, it is impossible to retrieve your earlier submission. If you do not resubmit, you will receive zero.
Q: If I upload my files and forget to click the "Submit" button, what happens?
A: ITaP says the files will not be stored anywhere in Blackboard. If you do not submit, it is impossible to retrieve your files.
Q: If I just miss the deadline and Blackboard refuses to accept my submission, what should I do? Can I email my program to you?
A: No. If you miss the deadline, you receive zero. The total score is 110. You do not have to do all assignments.
Q: I am late because of severe weather. Can you give me an exception?
A: If Purdue cancels classes, the deadline will be extended. If Purdue does not cancel classes, it is your responsibility submitting before the deadline.
Q: If I submit a wrong file, can I submit again after the deadline?
A: No. Your grade depends on what you submit. It is your responsibility submitting the correct file. Under no circumstance will a late assignment be accepted.
Q: Is there any possibility of giving me an exception?
A: No. Under no circumstance will a late assignment be accepted. The total score is 110. You do not have to do all assignments. Exceptions will be granted in only extreme cases, such as hospitalization. Visiting PUSH (Purdue University Student Health Center) is not an acceptable reason for an exception.
Q: Why do you put so strict about the deadlines? Why can't you give some flexibility?
A: If you want to be successful, you must be able to meet deadlines.
Q: I heard from some students that debugging takes a lot of time.
A: In many cases, they spend a lot of time because they want to save time. They do not follow standard practice explained in lectures. They do not learn appropriate tools. They do not plan before writing code. They do not read their code carefully. Some studnets spend only a few hours writing programs because they spend sometime thinking and planning before writing programs.
Q: Do I need to pay github.com?
A: You can get a free account as a student. Please go to https://github.com/edu
Grading Assignments
Q: How do you grade the programming assignments?
A: We will give you every test case. You should pass all the test cases before you submit. We may add more test cases before the deadlines. If this happens, we will inform everyone by email.
Q: Are assignments graded by checking the programs outputs?
A: No. Your program must not leak memory or have invalid memory accesses.
Q: If my program passes some test cases, do I get some points?
A:
Q: Do I get the full scores if my program produces the same outputs as the expected outputs?
A: If your program leaks memory as reported by valgrind, you lose most points. You will receive penalty if valgrind reports an uninitialized variable or invalid memory access. You will receive penalty for each gcc warning.
Q: But my program is almost right. Why don't I get any partial credit?
A: Almost right is not right. 99% correct means it is wrong. If it is wrong, you will receive zero.
Q: Can I get any partial credit if I have only a small mistake?
A: No. You can submit as many times as you wish. It is your responsibility submitting correct programs.
Q: If you change just one line of my program, it is correct.
A: We will not debug your program. It is your responsiblity submitting a correct program.
Q: Can I send my program to you and ask you to help?
A: If you need help, please visit the office hours. The teaching staff will not debug your program.
Q: How will partial credits be given?
A: You know exactly how assignements are graded. Thus, there is no partial credit. If your program is not 100% correct, you will receive zero.
Learning Objectives
Q: What are the learning objectives?
A: Recursion, File, Structure, and Dynamic Structures.
Q: How can I pass the learning objectives?
A: By receiving enough points in exams and assignments.
Q: If I pass all learning objectives, do I pass the course?
A: No. Passing all learning objectives is a necessary, but not sufficient, condition to pass this course.
Q: How many chances can I pass the learning objectives?
A: At least two chances, maybe more than two.
Q: How can a student fail this course after passing all learning objectives?
A: A student may pass all learning objectives by passing the minimum requirements in the exams and the programming assignments but failing to receive 50 points to pass the course.
Q: If I have passed an learning objective, will I fail later because I do poorly in a later exam?
A: Once you pass a learning objective, you pass. You will not "unpass" later.
Letter Grades
Q: Is this course curve-graded?
A: No. You grade is not affected by the other students' grades. There is only one situation when your grade will be affected by other students' grades. If the highest score in the whole class is below 100 (out of 110), everyone's score is scaled up proportionally so that the highest score is 100. This is, however, unlikely. If the highest score in the class is above 100, you will not be scaled down.
Q: I have 4.0 GPA so far. Can you give me A if my score is close enough?
A: You grade is determined by your performance. The instructor does not decide your grade. Your performance decides your grade.
Q: I am very close to A. Please.
A: The instructors do not decide your grade. Your grade is decided by your performance. You receive the grade based on your performance. You will receive B even if your score is very close but below the requirement for A. You receive what you deserve.
Q: I am very close to D. Can you give me D instead F?
A: The instructor does not negotiate grades. Your performance decides your grade.
Q: I encouter personal difficulty (for example, illness, death of a family member, bankruptcy, traffic accidents..). Can you be nice to me?
A: If you need help outside the class, please visit the Office of the Dean of Students. If the situation justifies special consideration, the office will inform the instructor.
Difficulty
Q: I have written many programs. I don't need this course.
A: Before you jump to that conclusion, please take a look of the topics in this course: memory management, recursion, pointers, structures, linked list, binary tree, bit operations, reading and writing files ... Do you know these topics well?
Q: Is this course difficult?
A: It is not that difficult if you take efforts. Some students are overly confident and did not study.
Q: In previous semesters, attendance is part of the grade. Why is it no longer used for grading?
A: This class is Boilercast so students may watch the lectures outside the classroom. You should attend the lectures because you can ask questions directly.
Q: Is this course easy or hard?
A: Some students think it is hard. Some students think it is easy. You make your own judgment.
Q: What is the best advice to learn the course?
A: Practice. If you want to be an expert, you need to practice a lot. You can find many problems in the text book.
Q: How can a student do well in this class?
A:
-
Think before you write code.
-
Attend lectures.
-
Take notes. Do not come to the lecture and watch. Watching is not learning.
-
Ask questions when you do not understand.
-
Read the handout.
-
Start the assignments early.
-
Check Blackboard Mail and Discussion often.
Q: Is this course about syntax?
A: ECE 264 is not about syntax. You need to know much more than syntax. ECE 264 teaches you how to write useful programs managing data. You can think of ECE 264 as a writing class. A writing class teaches you new vocabulary but vocabulary is only one part of the class.
Q: Will you tell me my progress in the course? Can you tell me that I am likely to fail this course so that I can withdraw before the deadline?
A: You can count the points you get in exams and assignments. The minimum requirement is 50%. If you receive below 50% points, you will likely fail the course. If you do not know what 50% means, you should withdraw this course.
Language Selection
Q: Why do we learn C? Why don't we learn Java?
A: Java is a much more complex language. One semester is insufficient to learn Java. If you want to learn Java, please take ECE 30862.
Q: Some departments teach Java as the first programming language.
A: It is very unlikely that students can fully understand Java as their first programming language. They can probably learn only parts of Java and do not learn some important features (for example, polymorphism, exception handling, multi-thread). As a result, the students learn the Java syntax without understanding the concept of object-oriented programming.
Q: Isn't C obsolete?
A: C is widely used in embedded systems and operating systems.
Q: Why do we learn C? Why don't we learn newer languages such as Java?
A: C is the foundation of many newer languages, including Java, C++, and C#. Understanding C helps you understand many languages.
Q: Why don't we learn a subset of Java then?
A: Regardless of the languages, some fundamental concepts do not change. For C, Java, C++, and many other languages, the fundamental concepts related to call stack, heap memory, recursion, data types are still applicable. It is better to understand a few things clearly, than to know many things without truly understanding any of them. Java has many features that are essential to the language. It is impossible to include these features within one semester. As a result, teaching Java as the first language tends to focus on only a few parts of Java and leave many other important parts uncovered, or to cover too many topics without any depth. It is better to understand a few fundamental concepts clearly than knowing a lot of things without true understanding.
Q: What are the relationships between ECE 264 and other courses?
A: ECE 264 is foundation of many 300 and 400 level courses.
Q: Do I need to memorize the commands and syntax?
A: Yes, even though in ECE 264 you can use books (and handouts and notes), you do not want to spend too much reading books (and handouts and notes) for every detail. It is like memorizing vocabulary and garmmar. You should spend time writing programs, not looking for syntax details. Treat C as a natural language like English, French, or Chinese. You need to know some vocabulary and grammar. ECE 264 is more than vocabulary and grammer; ECE 264 expects you to write short stories. You need to have solid knowledge about the basics (vocabulary, grammar, idioms...) When you learn a language, knowing (and memorizing) vocabulary can save you a lot of time. If you do not remember anything, you will spend too much looking up in dictionary.
Q: Is this course cumulative?
A: Yes, the concepts are cumulative. In ECE 264, each lecture is built upon the concepts covered in the previous lecture. Therefore, you should understand every concept clear and do not fall behind. You need to keep up because it is very difficult to catch up once you fall behind.
Q: What are the factors to be a good programmers?
A: Writing a good program is very much like writing a good article. You need vocabulary. You need grammar. You need a story. You need an organzation. Good writers also read a lot. To be a good programmer, you should read a lot of programs. There are many open-source programs.
Q: To write a C program, I need an editor and a compiler. What else do I need?
A: Many tools can help you detect and solve problems. In ECE 264, you will learn make, gdb, valgrind, and gcov.
Most Important Lesson
Q: If I learn only one thing in this class, what would that be?
A: 99.99% success is failure and do not ask for partial credit.
|