Erlang Language

CSE 121e

Syllabus

In this course you will see how the principles of programming you learned in CSE 110 and 111 are used to solve problems in your discipline. To that end, all of your assignments in this class will come from your major discipline.

Design Principles

This course is based on one underlying principle; that you are a dedicated disciple of Jesus Christ and therefore you would never lie or make deceptive claims regarding your understanding of the course material. Nor would you lie or deceive regarding completion of the task you will be assigned. Other principles include;

All tasks assigned to you in this course are to be completed in teams. Your instructor will inform you regarding team creation. It is also true that you will never be given a team grade. Each of us here on earth work together to aid each other in achieving salvation and exaltation, yet we are individually responsible for our own salvation and exaltation. Nobody makes it to the Celestial Kingdom because they belonged to a group of good people. Neither should you expect to get an A just because you are part of a group of hardworking students that come to understand the topics of this course and are able to apply them.

Therefore, when you are helping someone you should never give them a code solution. Neither should you expect a code solution when you ask for help. Instead, help those who will come to you by talking over how they are thinking about and approaching the problem, showing them how to search for and find an answer, and be loving and supportive. In other words, teach them just like you would teach someone the Gospel of Jesus Christ. Love them, help them find their own answer, and lead them to the scriptures.

Pre-requisites

You must have successfully completed CSE 111.

Platforms, Requirements, and Resources

You will need a laptop computer running Windows, MacOS, or Linux. The laptop must have sufficient hard drive space for the installation of the Erlang compiler and runtime as well as any text editor of your choice. Internet connectivity is also required. There is no text, all readings are found in iLearn.

Course Outcomes

To successfully complete this course, you must be able to:

  1. translate simple, well defined, discipline specific algorithms to Erlang (Algorithm - a clear and complete set of instructions),
  2. create functions in Erlang from well-defined descriptions,
  3. setup and be familiar with the development environment for Erlang so you can write code to solve problems as part of courses in your discipline,
  4. write code using Erlang specific syntax and style, including comments, and
  5. find help for how to use Erlang syntax.

Course Structure

This is a block course. In weeks 1 through 5 you will have assigned reading and a reading quiz, an interaction with other class members, and a programming assignment. Week 6 is dedicated to you completing an appropriately sized project that applies the Erlang expression of the basic building blocks of programming and functions. The project is one selected and produced for your discipline. Week 7 is your opportunity to ponder on the different sources of information regarding Erlang syntax help sources. Use week 7 to create rules for yourself regarding what differentiates a good source from a poor one. Compare your set of rules with those created by your team members. Then ponder again to see if you should, or should not, update your rule set to include ideas from theirs.

Assessments

  1. For weeks 1-7, you will be given one or more tasks to accomplish.
  2. For weeks 1-5 you will state as true or false the validity of the statement, "I have completed the tasks for this week and have a strong understanding of the Erlang syntax and style we learned about this week. Also, after completing my solution to the task, I reviewed the provided solution to learn from another way the task could be completed."
  3. For week 6 you will state as true or false the validity of the statement, "I have completed my small project and have a strong understanding of all the code I wrote. Also, I wrote the code using the Erlang syntax and style."
  4. For week 7, you will state as true or false the validity of the statement, "I have organized my thoughts and described, in writing, the results of pondering what determines if a Erlang information source is a quality or poor source."

Grade Calculation

There are two possible grades for this course, A or D. If you can honestly answer true for the assessment statements for five or more of the weeks, including the final project in week 6, your score will be an A. If you are not honestly able to answer true for 5 or more weeks or do not complete a final project, your score will be a D.

Additional

To review University policies regarding disabilities, sexual harassment, etc. or to arrange for a tutor from the Academic Support Center, select 'Modules' in the iLearn course, scroll to the Student Resources module, and select the appropriate link.