An introduction to neural networks from biological and machine learning perspectives. Focuses on neural networks for classification and regression involving large image and text datasets. Topics include fundamental design principles; supervised and unsupervised learning; fully connected and convolutional networks; transfer learning. Students obtain hands-on experience implementing and analyzing the neural networks covered each week in regular projects that explore different application areas.

Semester Fall 2020
Credits 4
Times & Locations

TR 11:00 - 12:15 pm
Remote over Zoom

Instructor Oliver W. Layton
Email: oliver.layton@colby.edu
Office hours: Here are my weekly office hours over Zoom. Please reach out — I would like to get to know you!
M 1-3pm
T  3-5pm
R  3-5pm
Evening TAs

In order to provide as much help as possible to you as you work on assignments in this course, the CS Department has hired the following former CS343ers to work as TAs over Zoom in the evenings (link posted on Google Classroom). You are strongly encouraged to take advantage of this resource. The TAs are getting paid to help you, so don't feel guilty about asking them for help!

Date (Time) TA
Sunday, 7:00 - 10:00 Trisha Ramdhoni (trisha.ramdhoni@colby.edu)
Tuesday, 7:00 - 10:00 Marius Orehovschi (moreho21@colby.edu)
Thursday, 7:00 - 10:00 Ethan Seal (ejseal21@colby.edu)
Nhi Tran (nutran21@colby.edu)
Course Goals
  1. Students understand mathematical and/or computational neural models and can implement them to perform simulations.
  2. Students understand how to interpret and analyze the outputs of neural network model simulations.
  3. Students understand how different neural network architectures affect pattern processing, learning, and memory.
  4. Students appreciate the biological underpinnings of computational principles and their utility for machine learning.
  5. Students work together and solve problems in a team environment.
  6. Students present methods, algorithms, results, and designs in an organized and competently written manner.
  7. Students write, organize and manage a large software project.
Grading

There will be regular opportunities for you to practice what you have learned and to demonstrate your accomplishments.

The course grade will be determined as follows:

Projects (Team) 40% Hands-on opportunities to implement and explore concepts from lecture.
Assigned on average every 2 weeks, with weekly turn-in due dates.
Work in teams of two.
Team Participation (Individual) 20% Peer assessment from your team member on collaboration and balanced contributions.
Quizzes 10% Short weekly online quizzes on Moodle (given most Thursdays after class)
Participation (Individual) 10% I expect you to be an active contributor in the classroom. This requires you to attend Zoom lectures. It is not a problem if you know that you will not be able to attend a lecture, but please email me in advance to let me know.
Final Exam 20% A 3-hour opportunity at the end of the semester to demonstrate your ability to answer questions about course material.
Projects

Work done in teams of two.

Projects are generally due on Thursdays.


Draft and final due dates

There are two types of project due dates:

  • Draft submissions: Progress made on designated project tasks (ungraded).
    • Honest attempt is required to ultimately earn at least 26/30 on the final submission.
    • Absent draft submissions will result in a maximum score of 24/30.
  • Final submissions: Updated version of draft submission and remaining project tasks. Graded as follows:
    • 26/30: All tasks completed.
    • 27+: All tasks completed along with creative explorations beyond the scope of core tasks (extensions).
    • The above scenarios assume that a honest attempt was made at the draft submission and the provided test code runs and returns the expected results.

Between draft and final submissions, code is turned in weekly. The weekly deadline is Thursday at 11:59pm EST.

The draft and final submission schedule depends on the project length:

  • 1 week project: Graded final submission only.
  • 2 week project: Draft submission due one week after project assigned, final graded submission due the next week.
  • 3 week project: Draft submissions due weekly during the first two weeks, final graded submission due on the third week.

Submitting a project

Draft and final submissions should be submitted as a ZIP file to Google Classroom to the posted Project assignment there. Only one team member should do this.

The zip file should be named based on the submitting team member's Colby username (e.g. owlayton for me). You should also indicate whether it is a draft or final submission:

  • For Project X Draft Y I would name my zip file owlayton_draftY.zip where X and Y are integers, Including the project number in the filename is not necessary since Google Classroom will automatically organize things based on the project assignment.
  • For Project X final, I would name my zip file owlayton_final.zip.
Project Late Policy

Projects are an important part of the learning experience in this course. I do not want you to get behind with the project workload. To encourage this, projects later than 1 week past the due date will not be accepted.

Late projects submitted within this 1 week grace period will not be eligible for extension credit and will be capped at a maximum of 26/30.

Please contact me immediately in the event of illness and other unforeseen circumstances, we will work out accommodations.

Team Participation

Group work is an important component of the learning experience in this course. You and your team member should feel empowered to contribute with your maximum potential and creativity so that everyone can learn effectively. This requires open communication and respect for each other's contributions and time.

To encourage everyone to reflect on this throughout the course, everyone will fill out a short form to evaluate the team experience when you submit each project. I understand that your workload outside of this course fluctuates during some weeks of the semester. The key is open communication and accountability with your team so that the workload can be distributed equitably and fairly. I expect you to reach out to your team member and me if this is not the case.

The team participation form is only filled out when turning in final submissions (not drafts).

Weekly quizzes
  • There is a 15 minute quiz given most Thursdays online on Moodle. You will have a ~3 day window to complete the quiz at a time that works best with your schedule (until Sunday night at 11:59pm).
  • The quizzes let you show me what you have learned. These should be quick and straightforward if you participate in lecture and review lecture notes.
  • I understand that everyone has a bad day; the quiz with the lowest grade will be dropped.
  • Each quiz may be made up when a prior request is made or there is a documented health issue.
  • Please contact me immediately in the event of illness and other unforeseen circumstances, we will work out accommodations.
Class Participation
  • You are expected to attend every class and lab, even though the course is offered remote. This is important for the overall learning experience and cohesion of the course.
  • Live attendance is optional if you are outside Maine's timezone — please email me to let me know.
  • If you must miss a class for any reason, please email me in advance. I am happy to work with you.
  • For this course to be truly successful, your presence and participation is important. When you have a question, ask it. It is highly probable that one of your classmates has the same question.
Final Exam

There will be a cumulative final exam over Moodle on TBD. Like quizzes, you will have a 3 day window to take it. There are no make-ups.

Backups

It should go without saying that you should back up any files related to this course. If the code you submit to us is somehow lost (through your fault or our fault), I must be able to get another copy from you. I suggest keeping your code on a cloud storage provider (shared with your team member) Google Drive, Dropbox, or Microsoft OneDrive. That way, you have a backup stored in the cloud.

A private GitHub repository (with your team member set as a collaborator) is another good backup option.

If you use filer, be aware that off campus you need VPN access, which could be unreliable. Also, you must store data in either your Personal folder or a Private folder in Courses.

Team Collaboration

Here are the expectations for collaboration in a team-based environment:

  • You are free to share, exchange, and jointly write code, solve problems, and answer project questions within your team.
  • You may discuss problems and solutions with other teams in English, but you must NOT see, share, or exchange code or responses to written project questions.
Collaboration, Academic honesty

Computer science, both academically and professionally, is a collaborative discipline. In any collaboration, however, all parties are expected to make their own contributions and to generously credit the contributions of others. In our class, therefore, collaboration on assignments is encouraged, but you as an individual are responsible for understanding all the material in the assignment and doing your own work. Always strive to do your best, give generous credit to others, start early, and seek help early from both your professors and classmates.

The following rules are intended to help you get the most out of your education and to clarify the line between honest and dishonest work. We reserve the right to ask you to verbally explain the reasoning behind any answer or code that you turn in and to modify your project grade based on your answers. It is vitally important that you turn in work that is your own. We do use automated plagiarism detection software, so please be sure to abide by these, rather minimal, rules. Reports of academic dishonesty are handled by an academic review board and a finding of academic dishonesty may result in significant sanctions. For more details on Colby's Academic Integrity policies and procedures, see colby.edu/academicintegrity.

  • If you have had a substantive discussion of any homework or programming solution with a classmate, then be sure to cite them in your write-up. If you are unsure of what constitutes "substantive", then ask me or err on the side of caution. As one rule of thumb, if you see more than 10 lines of someone else's code, then you should cite them. You will not be penalized for working together.
  • You must not copy answers or code from another student either by hand or electronically. Another way to think about it is that you should communicate with one another in natural human sentences, not in lines of code from a programming language.
The Colby Affirmation

Colby College is a community dedicated to learning and committed to the growth and well-being of all its members.

As a community devoted to intellectual growth, we value academic integrity. We agree to take ownership of our academic work, to submit only work that is our own, to fully acknowledge the research and ideas of others in our work, and to abide by the instructions and regulations governing academic work established by the faculty.

As a community built on respect for ourselves, each other, and our physical environment, we recognize the diversity of people who have gathered here and that genuine inclusivity requires active, honest, and compassionate engagement with one another. We agree to respect each other, to honor community expectations, and to comply with College policies.

As a member of this community, I pledge to hold myself and others accountable to these values. More ...

Academic Accommodations

I am available to discuss academic accommodations that any student with a documented disability may require. Please note that you’ll need to provide a letter from the Dean of Studies Office documenting your approved accommodations. Please meet with me to make a request for accommodations at the beginning of the semester--and at a minimum two weeks before any key due dates--so that we can work together with the College to make the appropriate arrangements for you.

Sexual Misconduct
(Title IX Statement)

Colby College prohibits and will not tolerate sexual misconduct or gender-based discrimination of any kind. Colby is legally obligated to investigate sexual misconduct (including, but not limited to, sexual assault and sexual harassment) and other specific forms of behavior that violate federal and state laws (Title IX and Title VII, and the Maine Human Rights Act). Such behavior also requires the College to fulfill certain obligations under two other federal laws, the Violence Against Women Act (VAWA) and the Jeanne Clery Disclosure of Campus Security Policy and Campus Statistics Act (Clery Act).

To learn more about what constitutes sexual misconduct or to report an incident, see: https://www.colby.edu/sexualviolence/.

If you wish to speak confidentially about an incident of sexual misconduct, you may contact:

  • Counseling Center: 207-859-4490
  • Title IX coordinator: Meg Hatch
  • Gender and Sexual Diversity Program: Director Emily Schusterbauer (eeschust@colby.edu/ 207-859-4093)
  • Office of Religious & Spiritual Life: 207-859-4272
    • Dean of Religious & Spiritual Life, Kurt Nelson (kdnelson@colby.edu)
    • Jewish Chaplain, Erica Asch (elsasch@colby.edu)
    • Catholic Campus Minister, Charles Demm (cademm@colby.edu)

Students should be aware that faculty members are considered "responsible employees"; as such, if you disclose an incident of sexual misconduct to a faculty member, they have an obligation to report it to Colby's Title IX Coordinator. "Disclosure" may include communication in-person, via email/phone/text, or through class assignments.

Observance of Religious holidays

Colby College supports the religious practices of students, faculty, and staff, but we don't always know which people will observe which holidays. Since I need to plan course activities in advance, I need to know in advance, if you need to miss a class or have a deadline adjusted in order to observe a holiday. Please notify me by e-mail at least 14 days in advance of any religious holiday that will affect your ability to participate in this course.

© 2020 Oliver Layton