Course Syllabus

Overview

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, the final programming project in this course will come from your major discipline.

The aim of this course is to introduce you to the C Programming language. This course will prepare you for the follow-on courses ECEN 260 and ECEN 361, where you will learn how to program an embedded device using the Code Composer IDE software. Before taking CSE 121C, you should have some programming knowledge (declaring and using variables, simple mathematical operations, for and while loops, functions, arrays, logical operations, if/else statements, switch statements, and bitwise operations).

Program Message

This course is based on one underlying principle; namely, 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 the following:

  • Lifting others in the class
  • Using your agency
  • Showing empath and love
  • Being humble enough to ask for help from your teacher and others in the class

You are encouraged to work with other students to both give and receive help. You can do this by regularly posting questions and answers in the Support Forum each week. 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, and 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.

Requirements

Prerequisites

You must have successfully completed CSE 111. If you choose to concurrently enroll in CSE 111 and CSE 121C, it is better to take CSE 121C during the second block so that you have greater familiarity with the concepts discussed in CSE 111 before starting CSE 121C.

Required 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 C IDE, and toolset. Internet connectivity is also required.
  • There is no textbook. Readings and resources are found in I-Learn.
  • You will be introduced to the core concepts, however, you will not be shown all the things the language can do. 
  • You will be asked to find resources on the internet to help learn the language and list those resources on assignment submissions.

Structure

Course Outcomes (CO)

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

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

Major Assignments

The table below is meant to help you see the relevance of each major assignment as it pertains to the course outcomes (CO).

Major Assignments
Major Assignment Description CO#
Task Submission Share examples of your work, ask questions, and participate in an open discussion. 1.2.3.4.5

Weekly Patterns

The table below displays typical weekly activities, due dates, and activity descriptions. 

Weekly Patterns
Due Date* Learning Model Activity Title Description
Midweek Teach One Another Support Forum Share examples of your work, ask questions, and participate in an open discussion.
Midweek Prove Practice Task Practice what you have learned this week
End of Week Prove Task Submission Share examples of your work, ask questions, and participate in an open discussion.

*Set your time zone within user preferences so the dates and times for course activities will display correctly for your time zone.

Learning Model

Learners and teachers at BYU-Idaho act for themselves and accept responsibility for learning and teaching by doing the following:

  • Act for yourself by writing the code yourself rather than Googling or having someone else tell you what to type.
  • Accept responsibility for your learning by proactively searching for answers and asking for help in the group discussion when you encounter obstacles.
  • Accept responsibility for teaching by interacting with other students to help them, but not tell them, in the support forums.

Expectations

Feedback

You can expect to receive grades and feedback within seven days of the due date for all assignments.

Workload

This is a block course. You should expect to spend 6-8 hours each week on this course. In Week 01 through Week 05, you will have assigned readings, interaction with other class members, and a programming task. Week 06 is dedicated to you completing an appropriately sized project that applies C expression of the basic building blocks of programming and functions. The project is one selected and produced for your discipline. In Week 07, you will report on your evaluation of syntax help sources.

Group Work

There is no group work in this course. However, you are expected to participate in the weekly discussions, either asking questions, answering questions, or both.

A group discussion forum will be provided for this course. The instructor will inform the class regarding the venue for this group discussion. Students are expected to monitor this group discussion and answer questions. The instructor will monitor this group discussion and provide help where needed. When students have trouble with the programming tasks, they are expected to seek help from the class group discussion as a first resort. Asking the instructor privately for help on the tasks prevents other students from being able to help and prevents others from being able to learn from the discussion.

Late Work

As a sign of professionalism and respect, you should complete your work on time. 

Grading Scale

There are two possible grades for this course, A or D.

The breakdown of the grade is as follows:

  • 5% Prepare: Syllabus Quiz
  • 10% Prepare: Debugging Task (week 1)
  • 50% Prove: Weekly Tasks (weeks 1-5; 10% each week)
  • 25% Prove: Final Project (week 6)
  • 10% Ponder: Useful Sources (week 7)

Each of your weekly tasks will be graded as either complete or incomplete. Incomplete tasks can be resubmitted after fixing noted problems. A final grade of 80% or more will earn an A. You must complete the final project and turn it in to earn an A in the course.

University Policies

Students with Disabilities

BYU-Idaho is committed to providing a working and learning atmosphere that reasonably accommodates qualified persons with disabilities. Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with the student and instructor by BYU-Idaho Disability Services. If you need assistance or feel you have been unlawfully discriminated against on the basis of disability, you may seek resolution through established policy and procedures.

If you have any disability that may impair your ability to complete this course successfully, please contact Disability Services as soon as possible, preferably before the beginning of the semester, in order to ensure you receive appropriate accommodations.

Disability Services Contact Information:

Other University Policies

Go to the Student Resources module to review the university policies regarding honesty, online etiquette, communication expectations, etc.

Course Summary:

Date Details Due