Professor Munindar P. Singh
These are the policies I follow in all of my courses. Your
specific course may have no project, so the project-related policies
won't apply to it. Each course has a schedule with its
- The university, college, and department policies against academic
dishonesty will be strictly enforced. You should review the NCSU
of Student Conduct.
- Unless otherwise specified, every gradable part of the course
requires individual work. Where collaboration is permitted,
students may discuss problems with each other, but the solutions
must still reflect their individual understanding. All kinds of
collusion will be subject to disciplinary action. Students must
acknowledge sources such as books (other than the textbook) and old
assignments. Unacknowledged use of any such material is subject to
disciplinary action. Any attempts to circumvent computing system
security or interfere with others' work will also be subject to
- In particular:
- Don't give help to anyone.
- Don't take help from anyone.
- Here are some additional points specific to exams:
- Don't keep any copies of the exams.
- Don't discuss the exam with others or post anything about it on
the course message board until I have returned the graded exams back
- Homework and project deadlines are firm.
- In general, I will accept homeworks, term papers, programming
assignments, and project reports that are up to one week late
with a 20% reduction in grade.
- However, once I discuss a homework in class or post a solution, I
will no longer accept submissions.
- All assignments must be turned in before the beginning of class
on the due date. Since printers and submit utilities tend to break
close to submission deadlines, the submission deadline is set for
noon on the day before the beginning of class. However, the
TA will keep the submit utility open a few hours (depending on the
TA's discretion) past the deadline in case a student wishes
to take the risk of an infrastructure problem.
- For classes with an EOL component, I generally design the
schedule so that homeworks are due and exams are held early in the
week; exercise sessions to prepare for exams are held the previous
week. Thus you should be able to access the previous week's lecture
in the intervening four days.
- For campus students, TAs generally prefer hard copy submissions
- EOL students must use the submit utility for homework
submissions, but may scan in neat hand-written solutions.
- Students who have completed their deliverables on time are often
frustrated if extensions are given. Further, an extension will
often cause interence with later work. For this reason, please
don't request extensions.
- Please note that computer systems tend to break at the least
convenient time. This happens remarkably often close to programming
deadlines and late in the semester, partly because of the extra load
at such times. Please factor in some slack in your schedule.
- Please turn off all your electronic gadgets, with the
exception of computers, during class. On occasion, we will do
exercises in class for which you may use your computers. The rest
of the time, which is most of the time, please leave your
computers with their screens down.
- Students are responsible for updating their email address in
WolfWare records, and for monitoring their email for any
course-related announcements. I send a test message early in the
semester; contact the TA if you don't receive it. You will be added
or deleted from the mailing list automatically based on your
registration status for the course. The TA can insert and remove
additional addresses, but neither the TA nor the instructor can
remove your main WolfWare address from a mailing list. You can set
your preferred address
for additional information.
- Classes taught in the Engineering Online program have video streams
recorded. These are managed by the EOL program and generally
restricted to EOL students. If you are an EOL student and can't get
to the class videos, please contact one of the EOL program
- The following instructions apply to all students. You might also
read the instructions that I give
the EOL office, and
the Disability Student Services
- Exams are 60 minutes long in a 75 minute class, in case there are
logistical problems. For finals scheduled in three-hour slots, I
allow 75 minutes.
- I won't answer questions such as what page numbers to read from
the textbooks, any additional readings, or the slides. The
discussions in class are well correlated with the exam topics.
- The exams are conducted as closed book and closed notes.
- Exactly one crib sheet is allowed in an exam.
- Each crib sheet belonging to a student must have the student's
name in the top right corner.
- Crib sheets may not be shared (but students may prepare their
crib sheets cooperatively ahead of the exam, if they like).
- Each crib sheet should be hand-written or printed on one side of
a letter-sized or A4 sheet of paper with one inch margins all
- The text size should be no smaller than 10pt.
- Computers, phones, PDAs, calculators, media players, and other
such gadgets that might be used to store information, communicate,
or perform computations are not allowed.
- Collusion or cheating of any form are forbidden. You can be asked
to explain your solutions verbally.
- Please sit as far apart from other students as the exam room will
allow: there are often lots of extra seats and students sitting
bunched together raise suspicions of collusion.
- For questions that ask you to make choices among listed
alternatives (e.g., in identifying true statements), please circle
the letter corresponding to each choice you wish to make. The
uncircled choices are interpreted as false. Don't use checkmarks or
other ways to indicate your choices, only the presence or absence of
- Do not use red ink.
- I never ask any trick questions. Feel free to make additional
assumptions, but be prepared to justify them. You can get partial
credit for an English description if a problem admits it (multiple
choice problems generally do not).
- Note that you can't use an "assumption" to alter the problem. For
example, if I ask "does any subset, S, of the natural numbers
necessarily have a maximal element?" I won't accept an assumption
that S be finite. However, in some problems involving natural
numbers, it may be worth clarifying that zero is or is not a
natural number. You may state such an assumption.
- Some homework problems may be labeled collaborative. You
have to take care not to discuss all other (i.e., independent)
problems with anyone. For the collaborative problems, you are
encouraged to form teams of 1–3 members (of students in the
class). The teams can change for each deliverable. After
discussing the problems, think independently for eight hours,
after which you may write up your answers individually. (The idea
is to reduce the risk of last-minute conversations often leading to
last-minute copying of solutions.) On your answer sheet, list the
names of the other members in your team, if any.
- The projects should be carried out such that they can be evaluated
by the instructor and TA. If you wish to use software that is not
recommended by the TA, please consult with the TA regarding how your
work will be evaluated. In some cases, for EOL students, a demo
over the Web is adequate. In other cases, you may have to visit
- Often, a project requires teamwork. Project teams ought not
change over the semester. However, I would allow a change for a
good reason. I encourage you to to resolve technical differences
with your team-members through discussion. Each member of the team
is expected to work equally hard. However, if you find that a
member of your team is not working satisfactorily, you should let
the TA and me know as soon as you are convinced that it is so.
We will entertain complaints about team members throughout
the semester, and may reduce the credit for any person we find not
- I encourage class participation. Participation means asking good
questions and responding to my questions. I assign problems to work
on during class - work on them! I call on students during class -
be alert! (Sometimes students are tempted to attempt to answer
class problems by peeking ahead in the textbook or in posted notes
and slides. This rarely works. Please think by yourself!)
- Please specify the course and section in your message. Please
direct questions as follows. Please don't use the message board for
questions where you want the TA or me to take specific action. Also
don't use the message board for questions about how your homework,
program, or exam was graded. Use the message board for general
programming related questions for which it is OK to share knowledge
(don't post code listings that give away part of a solution that
students or teams are supposed to obtain by themselves.
- General content and exams: to me and cc the TA.
- Homeworks and old exams: to the TA and cc me.
- Videos and notes posted by the EOL Program Office: to the EOL
- Problems with accounts, servers, submit, grade book, ...: to the
TA and cc me.
- Missing or erroneous grades: to the TA and cc me.
- Misc (teams, programming bugs, ...): to the message board.
- Questions about policies and schedules: If you find an
error, please let me know, but don't send around emails requesting
information that's on the Web.
- In the interest of fairness, I try to post answers to questions
asked privately or by email on the course mailing list.
- For campus students: I expect close to perfect attendance.
However, I don't always take attendance in class. If you miss a
class, please don't tell me, but it is your responsibility to make
up missed work. (You will lose participation points for missing
- Mainly for international students: You have my permission to
skip up to six classes on the condition that you don't expect me to
produce emails or sign any forms to that effect. This condition is
nonnegotiable. If you like, you can forward a link to this document
to the appropriate authorities as proof of my permission.
- Although I make all my prepared slides available, there is a lot of
value added in class. Only rarely can a student do well on an exam
without having regularly attended class, physically or
- If you miss an exam, please supply official documentation in
order to get credit. For anticipated excused absences, I will give
an exam prior to the date for the rest of the exam. For
unanticipated excused absences, I will prorate your scores on the
other exams. You should review the
- My exams involve more than a rote repetition of the course
material, so that differences in grades reflect differences in
understanding. Scores would generally not be clustered at the top.
Thus if a good student does poorly on one exam, they can easily
catch up in other exams. If scores were clustered high, you could
never recover from a minor mistake. For this reason, even a
relatively low score in the exams may translate into a high grade,
depending of course on other performance.
- I emphasize quality of work rather than quantity of work. You do
have to perform all the tasks required but going beyond doesn't
help. You cannot make up for a poor showing on an exam through
- The assignment of grades in a course should be independent of other
considerations. In particular, please don't try to pressure me
based on facts such as that a certain grade will spoil your summa
cum laude status, delay your graduation, cost you your financial
aid, get you kicked out of the program, or whatever. To the extent
that these regulations depend on a student's GPA, it is because of
the expectation that the grades won't be manipulated to satisfy some
requirement. Besides it won't be fair to others.
- I assign +/- grades.
- Grading is relative. I have no preset thresholds for any letter
- The weights of different components of the course are specified in
the course description. I generally assign nominal grades based on
the total score. However, I also look at the whole record to decide
if a student merits a better grade than the nominal one.
Specifically, I consider the score in the exams seriously in moving
students to a better grade. That is, in the end, thresholds based
on total score only partially determine the letter grade: a student
with a lower total score can get a better grade.
- Note that the Department of Computer Science does not allow
audits in graduate courses.
- Prerequisites are waived for enrollment as an audit student. Audit
requirements for all my courses are 50% attendance and a grade of C
or better in any exam. Projects by auditing students are not graded
and are not considered equivalent to an exam.
- Please note that I don't handle enrollment: you need to go
through the Registrar's Office or through the CSC Undergraduate or
- Our department sometimes restricts enrollment in our courses to
computer science students. I cannot—and in general do not
want to—override the departmental policy.
Reasonable accommodations will be made for students with verifiable
disabilities. In order to take advantage of available
accommodations, students must register with Disability Services for
Students at 1900 Student Health Center, Campus Box 7509,
919-515-7653. For more information on NC State's policy on working
with students with disabilities, please see
Accommodations for Students with Disabilities Regulation (REG
Students are responsible for reviewing the PRRs which pertain to
their course rights and responsibilities. These
(Equal Opportunity and Non-Discrimination Policy
(Office for Institutional Equity and
(Code of Student Conduct),
(Grades and Grade Point Average).
I encourage you to review the ACM code available here.