CSIS 111B: Fundamentals of Computer Programming

All course content is located online in the Canvas Modules for your class.


Course Description

This course will introduce students with no prior programming experience to the fundamentals of computer programming. These are foundation concepts for nearly all modern programming languages including Visual Basic, C++, C# and Java. Topics include sequence- repetition- and selection control structures. Advance topics include arrays- file I/O- and an introduction to the principles of object-oriented programming. One or more high-level programming languages will be used to reinforce the general concepts presented in this course.

Course Learning Objectives

Upon completion of the course, the student will be able to do the following:

  • Describe and apply the steps in the program development cycle.
  • Demonstrate mastery of program notation concepts through construction of simple algorithms, flowcharts, and corresponding pseudo-code.
  • Contrast and compare high-level programming languages as to suitability to a task.
  • Demonstrate the proper use of programming syntax that includes the effective and appropriate use of variables, expressions, and functions.
  • Apply appropriate Sequential, Repetition, and Selection control structures to solve specific programming problems.
  • Demonstrate the role of arrays and File I/O through a language specific application of these techniques.

Student Learning Outcomes

  • Develop a program that correctly implements the for, while, and do while looping structure
  • Code and implement the if, if else, conditional, and switch decision constructs.
  • Develop algorithms that implement arrays for storage and data retrieval.
  • Demonstrate the use of functions for modular programming.
  • Code a complex (operations do not share the same level of precedence) algebraic expression in the target language.

Class, Reading, and Assignment Due Date Schedule

Week Reading Assignment Due Date
1 Jun. 4 Lesson 0 - Getting Started: Installing, Learning and Using Visual Studio    
  Lesson 1 - Stored Program Concept: History of Programming, Compilers and Interpreters, High-Level vs. Low-level Languages, Procedural vs. Object-oriented Programming    
2 Jun. 11 Lesson 2 - Structured Design Concepts: System Development Life Cycle, Software Testing    
  Lesson 3 - Anatomy of a Computer Program: Algorithms, Flowcharting, pseudo-code, decision tables    
3 Jun. 18 Lesson 4 - Integrated Development Environments (IDEs): Visual Studio, writing your first program "Hello World" Assignment 1 Jun. 24
  Lesson 5 - Simple Data Types, Operators, and Expressions: Constants, Variables, Data Type, Arithmetic, Boolean, and Relational Operators    
4 Jun. 25 Lesson 6 - Data Structures: Arrays, Queues, Stacks, Linked Lists Assignment 2 Jul. 1
  Lesson 7 - Sorting Algorithms: Bubble Sort, Quick Sort    
5 Jul. 2 Midterm Assignment Midterm Assignment Jul. 8
  Lesson 8 - Control Structures: Repetition Structures    
6 Jul. 9 Lesson 9 - Control Structures (cont.): Decision Structures    
  Lesson 10 - Modular Programming: User-defined functions, methods, and procedures Assignment 3 Jul. 15
7 Jul. 16 Lesson 11 - File I/O: Reading and Writing Files    
  Lesson 12- Exception Handling: Try, Catch, Finally Blocks Assignment 4 Jul. 22
8 Jul. 23 Lesson 13 - Software Development Kits (SDKs): APIs, Libraries, and Frameworks    
  Final Assignment Final Assignment Jul. 26

Course Grading

4 coding assignments X 100 points each = 400 total possible assignment points: There are four assignments that you will need to complete as you progress through the course tutorials.

2 coding exams X 300 points each = 600 possible exam points: There are two comprhensive coding exams where you will combine skills already learned to a new coding problem.

Grading Scale: A > 89%, B > 79%, C > 69%, D > 59%, F < 60%.

Total possible points for this course = 1,000.

Table of Contents

Late Assignments

No Extensions

All assignments must be completed by 11:59 P.M. on the due date listed for the assignment under the Due Date column in the Course Schedule section of the Syllabus. NO LATE ASSIGNMENTS WILL BE ACCEPTED without extenuating circumstances. “I had to work,” “I was sick,” or “I didn’t understand the instructions” are NOT extenuating circumstances. Hospitalization or death of an immediate family member are, but will require supporting evidence. This does not exempt you from completing any assignment which MUST be submitted by the last day of the class.

Note: Due Dates for all Assignments, Exams and/or Quizzes are listed in the Syllabus for this class.

Table of Contents

Student Drop Policy

Any student who fails to complete three or more assignments, exams or quizzes may be dropped from the course by the instructor.

Table of Contents

Instructor's Regular Effective Contact Policy

For quickest response to questions or problems regarding this course, students should always send me an email using the format specified in the CIS EMAIL POLICY to the email address listed in the instructor box at the top of the Syllabus.

When emailing me during my stated online office hours, which can be found by clicking on the “Hours” link within the Instructor's box of this course, I will usually respond within the same day - depending on my student case load for that particular day. Students are always responded to on a first come first served basis.

When emailing me outside of my posted office hours, when posting to a discussion thread, or when submitting an assignment, students can expect that they will receive an appropriate response, when required, within 48 hours of the post or submission (Monday thru Thursday at 5:00 P.M.). Emails received after Thursday at 5:00 P.M. will be responded to on the following Monday.

To schedule a face-to-face meeting during the posted face-to-face office hours or to request synchronous contact via: virtual office, by telephone, or IM (Instant Messaging); please email your request so that we can schedule a mutually convenient meeting time.

From time to time, as it is deemed necessary, contact will be initiated with you, individually or jointly, via: email, Canvas Announcements, or Discussion Board posts to help keep you informed and up-to-date regarding your progress or status in this course. Be sure that you read all Announcements I post on Canvas and check your MSJC email on a daily basis. Please click "Reply" when responding to an email I send you so that my email message is included in your email response. That way I can easily keep track of what our discussion thread pertains to.

Table of Contents

Plagiarism, Cheating, and Stealing Policies (Academic Integrity)

  • Any student who plagiarizes the work of any other person will be given a zero on any and all assignments where plagiarism has been utilized.
  • Any student caught cheating on a quiz or final exam will receive a zero for quiz or final exam.
  • Any student caught removing items from the classroom including but not limited to: lab materials and tools, without authorization, will be dropped from the course and given an automatic "F".

For more details on plagiarism and cheating, please review the MSJC Student Conduct Web Resources page.

Table of Contents

Learning Environment

All students are entitled to an environment that encourages learning. If a student behaves in a manner that negatively affects other class members, he or she is guilty of disruptive behavior. Such behavior will be addressed in a manner consistent with school policy.

In a face-to-face class students should turn off cell phones and refrain from speaking when others are already talking.

In an online class students should follow the rules of netiquette when posting to discussion forums or communicating via Canvas Messaging.

Table of Contents

Need Tutoring?

Tutoring for some Business & CIS classes including Internet Authoring, Programming, Networking and Microsoft Office applications is available online.

  1. Lab/tutor schedules and access can be found by clicking on the Help button "?" in Canvas.
  2. Under the Other Resources heading click on the Get Tutor Help link.
  3. On the screen that appears click the link in the Pisces (MSJC Peer Tutoring) box. It reads: "There is # groups with faculty or staff available."
  4. On the next screen, click on the link for MSJC LRC Online Tutor.
  5. Read the instructions on the Welcome to MSJC's LRC Online Tutoring! screen.

For help getting tutoring, contact the MSJC Learning Resource Center.

Table of Contents

MSJC Learning Resource Centers

Check out the MSJC Learning Resource Centers! Academic Support is available for all students through the services provided in the Learning Resource Centers on each campus. Inquire at each center regarding hours of operations and specific subjects for which tutors are available. In addition, some subject area specialist tutors are available for courses through specific departments. Ask your instructor if specialized tutors are available for your individual course.

Table of Contents

Disability Statement

Mt. San Jacinto College abides by the American with Disabilities Act and Section 504 of the Rehabilitation Act of 1973 that prohibits federal and state agencies or programs from discriminating against qualified individuals with disabilities. Students in this course who have a documented disability, that limits a major life activity which may have some impact on your work in this class and for which you may require accommodations should meet with a Accommodation Service Center facilitator as soon as possible.

Table of Contents