Skip to content

Programming by Design

If you're not prepared to be wrong, you'll never come up with anything original. – Sir Ken Robinson

  • About
  • Java-PbD
  • C-PbD
  • ASM-PbD
  • Algorithms
  • Other

Category: ciss-111

PKI and SSL

Posted on July 9, 2024August 13, 2024 By William Jojo
ciss-111, Other

(Updated July 10, 2024) Table of contents Overview Certificates Requesting Certificates Cipher Suites File Formats Configurations VICE Overview Overview The secure exchange of information is essential to protecting vital data sent over networks. Here, we will look at the details related to PKI and SSL. Public key infrastructure (PKI) governs the issuance of digital certificates … Read More “PKI and SSL” »

C64 BASIC (in about an hour)

Posted on April 4, 2024November 20, 2024 By William Jojo
C64, ciss-111

(Updated November 20, 2024) Table of contents Overview BASIC History BASIC Statement Structure BASIC Language BASIC Constructs Afterward VICE Overview The BASIC (Beginner’s All-purpose Symbolic Instruction Code) language was created by John Kemeny and Thomas Kurtz at Dartmouth in 1964. It was a simple, unstructured language that was reasonably easy to learn. BASIC was prevalent … Read More “C64 BASIC (in about an hour)” »

Machine Code – Assembly Language

Posted on January 18, 2024August 13, 2024 By William Jojo
C64, ciss-111

(Updated July 22, 2024) Overview The methods of programming CPUs/computers have had a vast history. This document is intended to provide a historical introduction to the complexity of how systems were programmed. The details contained here concern the 6502 and 6510 processors. The 6510 was used in the Commodore 64. This was chosen for its … Read More “Machine Code – Assembly Language” »

About Metacognition

Posted on January 28, 2023August 13, 2024 By William Jojo
ciss-110, ciss-111, Other

(Updated July 26, 2024) Overview I ask my students to write reflective journals throughout the semester to provide a mechanism of recognition about how they are (not) learning topics. This is a fantastic exercise to begin a deeper understanding of our minds. We are genuinely linking our thinking process to the details of how we … Read More “About Metacognition” »

TED, Podcasts and Text on Technology, Design and Learning

Posted on February 7, 2021August 13, 2024 By William Jojo
ciss-110, ciss-111, Other

(Updated February 7, 2021) TED Technology, Design and Learning Roman Mars on City Flags and Proper Design The late Sir Ken Robinson on Schools and Creativity The late Sir Ken Robinson on changing educational paradigms Podcasts on Technology, Design and Learning 99pi Ways of Hearing – Episode #1 Time (2017) (Begins at 6:04) 99pi Octothorp … Read More “TED, Podcasts and Text on Technology, Design and Learning” »

Background Sounds

Posted on February 7, 2021August 13, 2024 By William Jojo
ciss-110, ciss-111, Other

(Updated December 28, 2023) When programming or writing content for my books, I prefer to have some ambient noise, but something more than just white noise, but not as distracting as the punk music that Cameron Howe used in Halt and Catch Fire – which was a very accurate depiction of the technology world at … Read More “Background Sounds” »

Python and Java

Posted on January 31, 2021August 13, 2024 By William Jojo
ciss-110, ciss-111, Other

(Updated January 31, 2024) Table of Contents Overview Statements Data Types Basic I/O Conditional Constructs Iterative Constructs Files Arrays Functions/Methods Overview This document is intended to provide a 10,000-foot view of the differences between Python and Java. This is not intended to be an exhaustive comparison of features and/or details. This document should be viewed … Read More “Python and Java” »

Bitwise Operators and Two’s Complement.

Posted on May 7, 2012August 13, 2024 By William Jojo
ciss-110, ciss-111, Ciss-150, Theory

(Updated August 5, 2024) Table of Contents Bitwise Operators Two’s Complement Numbers Shifting and Rotating Showing the Bits Bitwise Operators Within computer science, there is a desire to manipulate individual bits. Although memory is plentiful in many computing systems, that does not excuse one from considering all possible solutions to making a program or system … Read More “Bitwise Operators and Two’s Complement.” »

Number Systems

Posted on May 7, 2012August 13, 2024 By William Jojo
ciss-110, ciss-111, Ciss-150, Theory

(Updated March 24, 2020) Table of contents Overview Decimal Binary Octal Hexadecimal Exercises Overview Numbers systems are simply the means by which we represent values given a particular radix. The radix represents the base counting system. As a defined standard we generally use the Hindu-Arabic numerals of the base 10 counting system, or simply base … Read More “Number Systems” »

Big-O Notation

Posted on May 3, 2012August 13, 2024 By William Jojo
ciss-111, Theory

(Updated August 26, 2020) Overview As we write programs we gain knowledge. This is especially true in an educational environment. We learn when to select certain constructs in favor of others. We may also learn about scalability, execution time, memory consumption and I/O utilization. If we are truly blessed, our instructor even explains in detail … Read More “Big-O Notation” »

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Copyright © 2018 – 2025 Programming by Design.