Syllabus for CSCE 479/879 (Fall 2019)


Up-to-date information is at http://cse.unl.edu/~sscott/teach/Classes/cse479F19


COURSE INFORMATION

INSTRUCTOR TA Sysadmin
Stephen Scott Eleanor Quint Holland Computing Center
sscott at cse equint at cse hcc-support at unl
Office Hours:
W 2:30–3:20pm
R 10:00am–11:00am
and by appointment
in Avery 361
Office Hours:
T 11:00am–12:00pm
W 11:00am–12:00pm
In Avery 12
Office Hours:
R 2:00pm–4:00pm
in Schorr 118

PREREQUISITES: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H required. STAT 380/880 or ECEN 305 (probability and statistics) recommended. Machine learning background is not necessary (though helpful), but you must be a competent programmer.

TIME and ROOM: 3:30–4:20 Mon/Wed/Fri and 4:30–5:20 Mon, in Avery 119

TEXTBOOKS:

Required:

Hands-On Machine Learning with Scikit-Learn and TensorFlow by Aurélien Géron, O'Reilly Media, 2017, ISBN: 9781491962299.

Useful for general introductions to machine learning, but not required:


COURSE OBJECTIVES

In this course you will learn several of the fundamentals and current trends in deep learning. The approaches we will cover are applicable to several areas, including game playing, bioinformatics, text categorization, speech recognition, autonomous systems, and machine vision. The emphasized topics in this course will be different approaches and technologies in deep learning, including various activation functions and regularizers, as well as convolutional layers, recurrent networks, and autoencoders.


COURSE BULLETIN DESCRIPTION

Fundamentals and current trends in deep learning. Backpropagation, activation functions, loss functions, choosing an optimizer, and regularization. Common architectures such as convolutional, autoencoders, and recurrent. Applications such as image analysis, text analysis, sequence analysis, and reinforcement learning.


COURSE ELEMENTS

HACK-A-THONS

Every class meeting on Monday afternoon will be a hack-a-thon. Each hack-a-thon session will put into practice the concepts covered in lecture. In each session, we will guide you through downloading and setting up data sets and network architectures, as well as tuning hyperparameters and evaluating the results. You will indiviually submit the results of each week's hack-a-thon assignment via handin by the following Saturday at 11:59pm. Late submissions will not be accepted.

Hack-a-thons will be interactive, in which you are expected to bring with you a fully charged laptop, as well as a smartphone or some other means to log into HCC via two-factor authentication. Prior to the first hack-a-thon session on August 26, you need to join the HCC class group and set up Duo two-factor authentication. If you do not already have an HCC account, go to hcc.unl.edu/new-user-request to request one, in the class group cse479. If you already have an account, send an email to hcc-support@unl.edu to ask to join the class group cse479. If you have not already done so, you should also install on your smartphone the Duo Mobile app to use two-factor authentication to log into HCC. You will also need to go in person to the HCC office in Schorr 118 to set up the authentication system. More information on this is at https://hcc.unl.edu/docs/quickstarts/setting_up_and_using_duo/.

All sessions will use the TensorFlow library in Python. If you do not already know Python, you are expected to learn it on your own. We will not teach basic Python in this course.

HOMEWORK

There will be 3–4 homework assignments, which you will work on in small teams. Each homework is due by 11:59 p.m. on its due date. (cse's system clock, which timestamps your submissions, is the official clock for this course. Do not assume that just because handin allows you to submit that the deadline has not passed; you are responsible for ensuring that your files are submitted and timestamped before the deadline.) These assignments will include implementation and testing of various neural network architectures. Late homework submissions will be penalized exponentially: if your submission is m minutes late, your final score will be multiplied by 2m/60. Thus, you will lose 16% of your points if you submit 15 minutes late, 29.3% of your points if you submit 30 minutes late, etc. (amount of lateness is measured by the time stamp given by cse's handin). Therefore, unless you are making very significant improvements to your submission, it is better to submit a partially completed homework assignment than a late one. If you have a valid excuse for a late submission (e.g., illness), contact us as soon as possible.

You must use some document processing package (e.g., LaTeX) to write your homework submissions, and you must submit your reports electronically in pdf format. You must also write as clearly and concisely as possible. Presentation of your results is as important as the results themselves, and will be heavily weighted in grading. If we cannot understand what you wrote due to poor writing, etc., then we cannot award full credit, even if your answers are correct. Thus we recommend that you ask someone (e.g., a friend or the UNL Writing Center) to proofread your write-ups before you submit them, to check for clarity, typographical errors, etc. If English is not your first language, then we strongly recommend this!

Note that to use handin, you need a CSE login account. To get a CSE login account (if you are not a CSE student), go to http://cse.unl.edu/claim. Finally, ensure that all your files (e.g., program code, homework write-ups) are reasonably well-protected. You will be held responsible if someone copies your files and submits them as homework solutions.

EXAMS

There will be no exams in this course.

PROJECT

In this course you and your team will do a substantial project, in which you will characterize a significant problem amenable to a deep learning solution, study the related work to this problem, develop one or more deep learning approaches to this problem, and evaluate your approaches.

You will summarize your project results in a written report and an oral presentation. The written report must use a professional writing style similar to that found in a refereed conference or journal (e.g., ACM, IEEE, ICML, ICLR, NeurIPS), including abstract, introduction, summary of related work, your contribution, references, and an appendix (if necessary). The oral presentation will be to the entire class at the end of the semester: during the fifteenth week (December 9–13), and if necessary, during the fourteenth week (December 2–6). You will submit your written report no later than 11:59 p.m. on Sunday, December 15. In accordance with UNL policies, you have now been informed in writing of the nature and scope of this project prior to the eighth week of classes.

Seven to eight weeks into the semester (early to mid-October), we will set a deadline for submission of proposals on your projects. You must do this in order to get full credit for your project, and you must get our approval on your proposal before starting work on your project. A couple of weeks later, you will submit to us an initial progress report and meet with us for a check-in on your project. For this progress report, you will have your data sets downloaded and preprocessed, and have all necessary libraries and environments installed (or at least have the installation requests pending with HCC). A few weeks after that, you will submit to us your second progress report. This report will include initial experimental results and will serve as an early draft of your progress report, so it will also include your problem definition, related work, and discussion on your approaches.


GRADING

The above items will be weighted as follows:

hack-a-thons: 10% hwks: 20% project proposal: 5% project progress report 1: 5%
project progress report 2: 10% project final report: 25% project presentation: 25%

In computing your letter grade we will start with the following base scale, where s is your final score:

s ≥ 90% ⇒ A 80% ≤ s < 90% ⇒ B 70% ≤ s < 80% ⇒ C 60% ≤ s < 70% ⇒ D s < 60% ⇒ F

You will receive a "+" with your grade if the last digit of your score is ≥ 7, and a "–" if the last digit is < 3. We will scale up from this base scale if we deem it appropriate. Thus, if you get an 87% in this course you are guaranteed a B+ (similarly, an 82% guarantees a B–), but your grade might be higher depending on your performance relative to the rest of the class and your level of class participation. Note that for students registered for CSCE 879, a B is required to pass the course; a B– is insufficient.


OTHER INFORMATION

ACADEMIC INTEGRITY POLICY

All submitted work must be your own. No direct collaboration with fellow students, past or current, is allowed unless otherwise stated (e.g., your homework partner). The Computer Science & Engineering Department has an Academic Integrity Policy. All students enrolled in any computer science course are bound by this policy. You are expected to read, understand, and follow this policy. Violations will be dealt with on a case by case basis and may result in a failing assignment or a failing grade for the course.

ATTENDANCE POLICY

Attendance at all officially scheduled class meetings (class and lab sections) is expected. Students are responsible for knowing all material discussed in class meetings. Changes to class and lab schedules and assignments will be announced in class or lab.

STUDENTS WITH DISABILITIES

Students with disabilities are encouraged to contact us for a confidential discussion of their individual needs for academic accommodation. This includes students with mental health disabilities like depression and anxiety. It is the policy of the University of Nebraska-Lincoln to provide individualized accommodations to students with documented disabilities that may affect their ability to fully participate in course activities or to meet course requirements. To receive accommodation services, students must be registered with the Services for Students with Disabilities (SSD) office, 232 Canfield Administration, 402-472-3787.

COUNSELING AND PSYCHOLOGICAL SERVICES

UNL offers a variety of options to students to aid them in dealing with stress and adversity. Counseling and Psychological Services (CAPS) is a multidisciplinary team of psychologists and counselors that works collaboratively with Nebraska students to help them explore their feelings and thoughts and learn helpful ways to improve their mental, psychological and emotional well-being when issues arise. CAPS can be reached by calling 402-472-7450. Big Red Resilience & Well-Being provides fun events, innovative education, and dynamic services to help students understand emotions, manage stress, build strength, connect with others, develop grit and navigate transitions.

Victim Advocacy is a confidential, supportive resource for victims/survivors of interpersonal violence and other crimes. They provide advocacy and support for students, faculty and staff who have experienced sexual assault, domestic/dating violence, stalking, harassment and other crimes. Victim advocates help you navigate campus and community resources. With a victim advocate, you will be able to tell your story confidentially. You will be supported in your decision to report or not to report to police, Institutional Equity and Compliance (Title IX) or neither.

CSE SUGGESTION BOX

The CSE Department's anonymous suggestion box at http://cse.unl.edu/department/suggestion.php lets you voice your concerns about any problems in the course or department if you do not wish to be identified.

STUDENT RESOURCE CENTER

GTA office hours are held in the CSE Student Resource Center in Avery 12.

COMMUNICATION

It is CSE Department policy that all students in CSE courses are expected to regularly check their email so they do not miss important announcements.

We will be using Piazza as another method of communication for announcements, to ask questions of the TA, and to discuss and share tips and tricks among students. This should be the first place you ask questions about homework, hackathons, or the project.



Last modified 30 September 2019; please report problems to sscott.