Focuses on the use of algorithms that implement brain-inspired learning principles to solve machine learning problems involving large image, video, and text datasets. Unsupervised learning is the primary focus, as is the coupling between artificial and bio-inspired neural networks. Topics may include Hebbian learning, encoder-decoder architecture, self-organizing maps, Outstar learning, Adaptive Resonance Theory, spiking neural networks, STDP learning, and recurrent neural networks. The semester culminates with a presentation of a group project focused on the use of a neural network from the sequence to address an investigation of the group's choice.

Semester Spring 2024
Credits 4
Times & Locations

MW 2:30 - 3:45 pm
Davis 201

Instructor Oliver W. Layton
Office: Davis 115
Office hours:
  M 12:30-1:30pm
  T 12:00-2:00pm
  W 4:00-5:00pm
  R 1:00-3:50pm (in Olin 001)
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.

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 3 weeks, with weekly check-in due dates.
Work in teams of 2-3.
Team-designed project and presentation 20% Each team uses a neural network derived from CS343 or CS443 project(s) to investigate a problem or question of the team's choice. Each team creates a poster and presents findings at CLAS.
Quizzes 20% Short weekly quizzes (given most Wednesdays in class)
Team Participation (Individual) 10% Peer assessment from your team member on collaboration and balanced contributions.
Attendance 5% I expect you to attend every lecture, unless you are sick or must be absent for unavoidable reasons. 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.
Participation 5% I expect you to be an active contributor in the classroom and/or during office hours.

Work done in teams of 2-3.

Projects are generally due on Thursdays.

Check-in and final due dates

There are two types of project due dates:

  • Check-in submissions: Progress made on designated project tasks (1 point if completed, 0 points otherwise).
    • Honest attempt is required to ultimately earn at least 26/30 on the final submission.
    • Each absent check-in submission will result in a loss of 1 point on the final graded submission.
  • Final submissions: Updated version of check-in submissions and the remaining project tasks. Graded as follows:
    • 26/30: All tasks completed and check-ins completed on time.
    • 27+: All tasks and check-ins completed along with creative explorations beyond the scope of core tasks (extensions).

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

    The check-in and final submission schedule depends on the project length:

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

    Submitting a project

    Check-in 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 check-in or final submission:

    • For Project X Check-in Y I would name my zip file 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
One Week 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.

Project Freebee

Every group gets one extended grade period to turn in a final or check-in project submission later than the due date. The freebee grants you additional time to work on extensions and have them graded or avoid the 1 point loss associated with a late check-in submission. To use the freebee, write a private message on the project post on Google Classroom in advance of the due date that indicates that will use your freebee.

Using a freebee on Tuesday due dates: team has until Friday 11:59pm of the same week to submit.

Using a freebee on Thursday due dates: team has until Sunday 11:59pm of the same week to submit.

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 check-ins).

Generative AI

You may not turn in any AI-generated code or written text. This includes the output of AI code assistants (Copilot, Tabnine, etc.). Projects and labs submitted with AI-generated content will not be graded.

You are the student in this course so we expect that all the code and written analysis that you submit for grading is your own. You are taking this course to learn how to analyze and reason about data and to build machine learning models. You are not taking this course to learn how to ask ChatGPT how to do these things for you. We want your skills and knowledge to grow. ChatGPT is not enrolled in the course.

I reserve the right to ask you about your submitted work and adjust your grade accordingly if you are not the author of the submitted work. Use of AI in submitted work could be considered a violation of Academic Integrity.

Weekly quizzes
  • There is a 10 minute quiz given most Thursdays in class.
  • 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
  • Your attendance is required. Your presence and participation matters for your learning experience! Everyone in the class benefits from your participation.
  • If you must miss a class for any reason (covid, illness, etc.), please email me in advance. I am happy to work with you.
  • When you have a question, ask it. It is highly likely that one of your classmates has the same question.
Team Designed Project and Presentation

Each team will use a neural network derived from CS343 or CS443 project(s) to analyze and investigate a problem or question of the team's choice. Each team will communicate their findings at CLAS through a poster presentation. The goal is clear and effective communication of technical work and analysis to non-specialists in neural networks and machine learning. There will be check-in milestones throughout the semester. More details are available on the project page.


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 on projects 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. 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:

  • For collaboration on projects, see Team Collaboration.
  • Always strive to do your best.
  • Projects with AI-generated code and/or written text will not be graded. Submitting AI-generated content could be considered a violation of Academic Honesty.
  • Cite and give generous credit to others. 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.
  • Start early.
  • Seek help early from both your professors and classmates.
  • You must not copy answers or code from another student outside of your team 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.
  • I 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.

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

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:

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 (207-859-4093)
  • Office of Religious & Spiritual Life: Dean of Religious & Spiritual Life Kate Smanik (207-859-4272)

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.

© 2024 Oliver Layton