top of page

CSC 123 Course Syllabus

CSC 123 A introduction of python through interactive game creation
Section 001 Fall 20xx 3 Credit Hours

Course Description

Learning to program in python through creating games. Python is a popular programming language in the modern world, it is used in software engineering, data analytics, web development, and a lot of other fields. This class introduces this language in a “teaching through programming” manner. No prior programming knowledge is required, students will be guided through the process in mini-steps. Most seats are reserved for Computer Science majors.

Learning Outcomes

screen-0.jpg_fakeurl=1&type=.jpg

Students would learn basic programming knowledge through creating their own game in class. By the end of this semester, they should understand: 

  1. the syntax of python, 

  2. loops (while and for), 

  3. conditions (if/else), 

  4. simple data structures (list, dictionary, set, tuple), 

  5. function and class; 

  6. be able to program their own 2D-RPG video game using learned knowledge.

Course Structure

The class lecture would be hosted in a computer lab, students are required to attend lectures and complete programming tasks during class hours.

Course Policies

The use of Communications Devices during class is strongly discouraged, students could ask the instructor and use them outside of the classroom if it is absolutely necessary.

Instructors

Yunkai Xiao (yxiao28) - Instructor
Email: yxiao28@ncsu.edu
Office Location: EB2 2216(c)

Office Hour: M W 11:00  am - 12:00 pm

John Smith - Teaching Assistant

Email: jsmith111@ncsu.edu

Office Location: EB2 2147(f)

Office Hour: T TR 12:00  - 1:00 pm

Course Meetings

Lecture
Days: MW
Time: 12:50pm - 2:05pm
Campus: Centennial
Location: TBD

Course Materials

Invent Your Own Computer Games with Python - Al Sweigart
Edition: 4th
ISBN: 978-1593277956
Web Link: https://www.amazon.com/Invent-Your-Computer-Games-Python/dp/1593277954
Cost: 20.36
This textbook is optional.


Think Python: How to Think Like a Computer Scientist - Allen B. Downey
Edition: 2nd
ISBN: 978-1491939369
Web Link: https://www.amazon.com/Think-Python-Like-Computer-Scientist-dp-1491939362/dp/1491939362/ref=mt_paperback?_encoding=UTF8&me=&qid=
Cost: 30.42
This textbook is optional.

Expenses

Web-assign access - $40
This expense is required.

Requisites and Restrictions

Prerequisites: None.
Restrictions: None.

Grading

Grade Components

Component
Weight Details %
Homework (Written or programming homework tracked on WebAssign)
15%
Participation (Measured with in-class quizzes)
10%
Mid-term Exam
30%
Final Exam
30%
Final Project
15%

Letter Grades

This Course uses Standard NCSU Letter Grading:

97
A+
100
93
A
<
97
90
A-
<
93
87
B+
<
90
83
B
<
87
80
B-
<
83
77
C+
<
80
73
C
<
77
70
C-
<
73
67
D+
<
70
63
D
<
67
60
D-
<
63
0
F
<
60

Requirements for Auditors (AU)

Per departmental policy, you cannot audit a CSC class.

Late Assignments

For each assignment submitted late within 3 days, there is a 10% penalty; within 7 days (11:59 pm), there is a 20% penalty. We do not accept late submissions for over a week.

Attendance Policy

For complete attendance and excused absence policies, please see http://policies.ncsu.edu/regulation/reg-02-20-03

Absences Policy

Students could have one Excused/Unexcused absence, due to the schedule and format of this class, missing too many sessions would hinder understanding of the class content

Makeup Work Policy

Any student can retake ONE exam at the end of the semester.

Academic Integrity

Academic Integrity

Students are required to comply with the university policy on academic integrity found in the Code of Student Conduct found at http://policies.ncsu.edu/policy/pol-11-35-01

Academic Honesty

See http://policies.ncsu.edu/policy/pol-11-35-01 for a detailed explanation of academic honesty.

Honor Pledge

Your signature on any test or assignment indicates "I have neither given nor received unauthorized aid on this test or assignment."

Electronically-Hosted Course Components

Students may be required to disclose personally identifiable information to other students in the course, via electronic tools like email or web-postings, were relevant to the course. Examples include online discussions of class topics and posting of student coursework. All students are expected to respect the privacy of each other by not sharing or using such information outside the course.
Electronically-hosted Components: Students would be able to play games or characters created by other students in class projects, as a method of validating each other’s work. No information will be disclosed outside of the classroom.

Accommodations for Disabilities

Reasonable accommodations will be made for students with verifiable disabilities. In order to take advantage of available accommodations, students must register with the Disability Resource Office at Suite 304, University College Commons, Campus Box 7509, 919-515-7653. For more information on NC State’s policy on working with students with disabilities, please see the Academic Accommodations for Students with Disabilities Regulation (REG02.20.01) (https://policies.ncsu.edu/regulation/reg-02-20-01/).

Non-Discrimination Policy

NC State University provides equality of opportunity in education and employment for all students and employees. Accordingly, NC State affirms its commitment to maintaining a work environment for all employees and an academic environment for all students that is free from all forms of discrimination. Discrimination based on race, color, religion, creed, sex, national origin, age, disability, veteran status, or sexual orientation is a violation of state and federal law and/or NC State University policy and will not be tolerated. Harassment of any person (either in the form of quid pro quo or creation of a hostile environment) based on race, color, religion, creed, sex, national origin, age, disability, veteran status, or sexual orientation also is a violation of state and federal law and/or NC State University policy and will not be tolerated. Retaliation against any person who complains about discrimination is also prohibited. NC State's policies and regulations covering discrimination, harassment, and retaliation may be accessed at http://policies.ncsu.edu/policy/pol-04-25-05 or http://www.ncsu.edu/equal_op/. Any person who feels that he or she has been the subject of prohibited discrimination, harassment, or retaliation should contact the Office for Equal Opportunity (OEO) at 919-515-3148.

Course Schedule

NOTE: The course schedule is subject to change.

Weeks
Learning Objectives
Homework
Introduction 08/20/2018 - 08/24/2018
Basic knowledge of Python 3 Pycharm IDE introduction
Download software and install on own computer Visit the game platform we're going to be working on through the semester.
Keywords and basic syntax 08/27/2018 - 08/31/2018
Understanding what's keywords and memorizing the list of reserved keywords, could tell whether a word is a keyword by the end. Understand what's a variable, and a function, be able to explain them, and use a simple function like print.
None
Loop 09/03/2018 - 09/14/2018
Practice loop in the form of for and while. Understand what's a code block, how much indentation is needed for a code block, using code block to segment code. Able to use it in the in-class mini-project. Able to set the correct stop conditions for different types of while loop. Able to implement "break" in code.
Start programming the rock-paper-scissors game.
Conditions 09/18/2018 - 09/21/2018
Able to implement switches with if/elif/else Able to implement nested code blocks
Used knowledge learned to complete the rock paper scissors game.
List 09/24/2018 - 09/28/2018
Understand what is a list, examples of where to use it. Able to create an empty list, add, remove, and modify items in a list. Code to implement looping through the list.
Program blackjack game.
Dictionary 10/01/2018 - 10/05/2018
Understand what is a dictionary, examples of where to use it. Understand what is key and value. Able to create an empty dictionary, add, remove, and modify items through keys in the dictionary. Able to calculate space taken in memory and how dictionaries expand.
None
Tuple, set, and other structures 10/08/2018 - 10/12/2018
Understand what is a tuple and set, examples of where to use them. Able to program to deduplicate a list, a dictionary with a set.
None
Review for mid-term 10/15/2018 - 10/19/2018
Recap for things taught in previous classes
None
Functions 10/22/2018 - 10/26/2018
Understand how functions perform tasks, what's input and output. Introducing the RPG game schema.
Able to program in the RPG game how a character reacts to damages. Able to program in the RPG game how a character moves.
Class and Object 10/29/2018 - 11/09/2018
Could tell the difference between a Class and an Object. Program the bullet class.
Program the space invader game.
Final Project 11/12/2018 - 11/23/2018
The final project of the RPG game, able to program character, tasks and a storyline.
The RPG game
Review for final exam 11/26/2018 - 11/30/2018
Recap for what's taught in the semester.
None
bottom of page