CIS 115 – Introduction to Computing Technology

A survey of the discipline of Computing Science and its interaction with other disciplines, incorporating historical development, theories, and tools of Computing Science (algorithm design and programming). Topics include: mechanical computers, digital computers, big data, AI, robotics, security, scientific computing, simulation, and web technologies.  Students also learn Python as part of this course to reinforce the previously mentioned topics.
Fall 2017-present

CIS 300 – Data and Program Structures

A study of common data and program structures together with associated algorithms. Topics include interfaces, design patterns, arrays, stacks, queues, lists, trees, hash tables, recursion, binary search, and tree traversals. Experience with both use and implementation of these structures and algorithms using a modern programming language. Discussion of trade-offs involving performance and software maintainability.  Currently, this course is taught in C#.
Fall 2017-present

CIS 308 – C Programming Laboratory

A lab-based course focused on teaching the C programming language.  Topics include arrays, pointers, dynamic memory, structs, and other fundamental concepts of the C language.
Spring 2019

CIS 560 – Database System Concepts

Concepts, approaches, and techniques in database management. Representation of information as data, data storage techniques, foundations of logical data models, data retrieval, database design, transaction management, integrity and security.
Spring 2020-2022

CC 520 – Database fundamentals

Introduction to SQL databases for non-cs majors. Concepts, approaches, and techniques in database management. Representation of information as data, data storage techniques, foundations of logical data models, data retrieval, database design, transaction management, integrity and security.
Spring 2022-present

CIS 595 – IS Cooperative Internship

The intern works in a professional capacity in various areas of Information Systems such as web development, programming, application development, or information technology. Student is supervised by a professional and a faculty member. Written documentation and oral presentation of project goals, experiences, and accomplishments.
Fall 2017-2019

CIS 640 – Software Testing Techniques

Survey of software testing methodologies; evaluation of software testing strategies; experience in a variety of software testing practices.
Spring 2018-2022

Starbase

Planned and taught an hour introduction to programming lesson to 4th-6th grade students from the Manhattan Kansas Starbase program.  In a pair programming exercise, students translated the sheet music of the song Ode to Joy using the Scratch programming language.
2013-2019

STEM Summer Institute

Planned and taught programming courses to 5th-9th grade students.  These courses range in theme, including introduction to Scratch programming, artificial intelligence, game design, and micro controllers.  Lesson are aimed to give young students an introduction to programming and other technology, as well as get them interested in pursuing a STEM- field.
Summer 2014-present

Boy Scouts of America

Planned and taught a half day workshop for the Boy Scouts robotics badge.  Scouts learned robotic fundamentals, including safety, design, programming, and applications.
2018-2019

Girl Scouts of the USA

Created and planned a three-hour workshop for junior girl scouts to learn about artificial intelligence.  Scouts learned the basics in translating simple human intelligence into computer controlled sprite, how artificial neural networks operate, and how supercomputing clusters operate.  This workshop relied heavily on the Scratch programming language and CS unplugged activities.
Spring 2016, 2017

GROW and EXCITE

Participated in outreach programs designed to engage young women in 6th-12th grade in STEM.  As part of these programs, I taught lessons in storytelling, music, and artificial intelligence in the Scratch programming language.
2015, 2017

K-State Codes – Introduction to Python

Develop and instruct an accelerated course on Python programming.  This course is a free, non-credit course open to all students and faculty of K-State. This course aims to teach fundamental programming concepts and syntax in the Python language.
 Fall 2016 - 2017

CIS 415 – Ethics and Computing Technology

Ethics and Computing Technology covers ethical and moral issues that involve computing technologies and their impact on society.  This class is given in two eight-week sections, leveraging a flipped classroom model and covering topics including basic ethical principles and theories, software engineering and ACM codes of ethics, privacy, cyber security, safety-critical software, and computing technologies in society.  Served as a graduate teaching assistant for the first section, and am currently serving as an instructor for the second.
Fall 2016

Insight GK12

Develop and deliver technology and engineering lessons at the K-12 level. Lessons include, but are not limited to sensors, Lego NXT robots, Scratch programming, Wii remotes, and Kinect sensors. A goal of this program is to expose students, particularly from rural areas, to engineering and various technologies.
2013-2015

CIS 200 — Programming Fundamentals

Programming Fundamentals is an introduction to Java programming with a small focus on C#.  Students focus on learning how to program in Java as well as general programming practices and methodology.  Responsibilities included teaching multiple lab sections, proctoring exams, grading, and holding regular office ours.
2011-2014

CIS 104 — Introduction to Word Processing Applications

This course is built to teach students the basics of Microsoft Word.  Learning objectives focused on different formatting and tools in Word.  Responsibilities included presenting lectures, proctoring exams, grading, and holding office hours.
2013-2014

CIS 103 — Introduction to Database Applications

This course is built to teach students how to use Microsoft Access.  Students learned the basics of databases and why they are needed.  Responsibilities included presenting lectures, proctoring exams, grading, and holding office hours.
2013-2014

CIS 102 — Introduction to Spreadsheet Applications

This course is built to teach students the basics of Microsoft Excel.  Students learned how to format spreadsheets and use formulas.  Responsibilities included presenting lectures, proctoring exams, grading, and holding office hours.
2013-2014
Joshua L. Weese
Joshua L. Weese
Teaching Assistant Professor

My research interests are include all things related to computer science education with a focus on K-12 CSED and computational thinking.