alpha
Login
or
Join now
thehale.dev
/
ti-genesis
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
A collection of the TI-BASIC programs that launched a struggling algebra student into Software Engineering.
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
ti-genesis
/
PRGM
/
at
main
30 files
Joseph Hale
Preserve VECROSS
10y ago
2290ca9a
DICE.8xp
Preserve VECROSS VECROSS was written for the same reason as ELECCONS, to simplify the work I had to do during my university physics homework and exams. This program was particularly helpful since the cross product formula seemed like a random jumble of computations since I hadn't learned its relationship with linear algebra.
10 years ago
DICE.txt
Preserve DICE This program was written to make life easier for one specific probability assignment. We had to roll four dice a bunch of times, keeping track of the average of the dice for each roll, as well as the total times that each number was rolled. While not a challenging assignment, I found it really tedious, so instead of rolling dice, I threw this program together and used it to do most of the work for me instead. :P
11 years ago
ELECCONS.8xp
Preserve ELECCONS ELECCONS was a simple program I wrote during my University Physics course. There were lots of constants used throughout the course, and I got tired of typing them into the calculator. This program simply assigns those common constants to variables so that I could use the letters in my calculations instead of the big long numbers. I don't remember what all the constants are right now, though I could probably cross reference with my physics notebook to figure them out again (or just look up the numbers, they are probably easy enough to find that way).
10 years ago
ELECCONS.txt
Preserve ELECCONS ELECCONS was a simple program I wrote during my University Physics course. There were lots of constants used throughout the course, and I got tired of typing them into the calculator. This program simply assigns those common constants to variables so that I could use the letters in my calculations instead of the big long numbers. I don't remember what all the constants are right now, though I could probably cross reference with my physics notebook to figure them out again (or just look up the numbers, they are probably easy enough to find that way).
10 years ago
FACTOR.8xp
Preserve FACTOR I wrote the first version of this program the summer after writing QUADFORM. I worked on it on and off for a few months, often drawing out pictures of the "box method" for factoring a quadratic equation to guide my design. Those drawings constituted the first time I had truly solved the general case of a math problem, which certainly prepared me for learning proofs in geometry the following year (though I didn't recognize it at the time). When the program was finally done, I felt so proud of myself! This particular program won me lots of attention from fellow classmates and even from a few future teachers. It likely saved me enough time on homework and exams to compensate for the time I invested into writing it. Since I used this program so much, I gradually added additional enhancements. For example, when factoring an equation with large coefficients, the factoring computation got pretty slow, so I added in a "CALCULATING..." animation so I would know that the program hadn't frozen.* Later, I added a few extra checks like the a+bi mode and computing the discriminant to further improve performance and the user experience. * I now know that the long computation times for finding factors stem from an inherent complexity in that problem. In fact, it is that very computation difficulty which makes prime number factorization so desirable for most modern encryption techniques.
14 years ago
FACTOR.txt
Preserve FACTOR I wrote the first version of this program the summer after writing QUADFORM. I worked on it on and off for a few months, often drawing out pictures of the "box method" for factoring a quadratic equation to guide my design. Those drawings constituted the first time I had truly solved the general case of a math problem, which certainly prepared me for learning proofs in geometry the following year (though I didn't recognize it at the time). When the program was finally done, I felt so proud of myself! This particular program won me lots of attention from fellow classmates and even from a few future teachers. It likely saved me enough time on homework and exams to compensate for the time I invested into writing it. Since I used this program so much, I gradually added additional enhancements. For example, when factoring an equation with large coefficients, the factoring computation got pretty slow, so I added in a "CALCULATING..." animation so I would know that the program hadn't frozen.* Later, I added a few extra checks like the a+bi mode and computing the discriminant to further improve performance and the user experience. * I now know that the long computation times for finding factors stem from an inherent complexity in that problem. In fact, it is that very computation difficulty which makes prime number factorization so desirable for most modern encryption techniques.
14 years ago
LOADING.8xp
Preserve LOADING This program clearly has some parallels to middle block of FACTOR that shows a "CALCULATING..." animation when the numbers to factor are large. I know that the first version of FACTOR definitely preceded LOADING, but I don't remember if I added the "CALCULATING..." animation before or after writing this program. As a goofy high school student, I had fun pranking my friends with this program. When they weren't looking, I used a link cable to copy this program to their calculator and start it up. When they got back, they just saw their calculator in a long LOADING animation. Even better, since the TI calculators have a slow clock speed, this program would run for a long time, causing my friends to get super frustrated that their calculator was "unusable" for so long! (Of course I didn't tell them that pressing the ON button would kill the program).
11 years ago
LOADING.txt
Preserve LOADING This program clearly has some parallels to middle block of FACTOR that shows a "CALCULATING..." animation when the numbers to factor are large. I know that the first version of FACTOR definitely preceded LOADING, but I don't remember if I added the "CALCULATING..." animation before or after writing this program. As a goofy high school student, I had fun pranking my friends with this program. When they weren't looking, I used a link cable to copy this program to their calculator and start it up. When they got back, they just saw their calculator in a long LOADING animation. Even better, since the TI calculators have a slow clock speed, this program would run for a long time, causing my friends to get super frustrated that their calculator was "unusable" for so long! (Of course I didn't tell them that pressing the ON button would kill the program).
11 years ago
PHEDLA.8xp
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
PHEDLA.txt
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
PHEDSA.8xp
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
PHEDSA.txt
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
PHEDVOL.8xp
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
PHEDVOL.txt
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
POLYAREA.8xp
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
POLYAREA.txt
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
POLYPERM.8xp
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
POLYPERM.txt
Preserve POLY* and PHED* Here's what each program does: * **PHEDLA** - PolyHEDron Lateral Area * **PHEDSA** - PolyHEDron Surface Area * **PHEDVOL** - PolyHEDron VOLume * **POLYAREA** - POLYgon AREA * **POLYPERM** - POLYgon PERiMeter The year after writing QUADFORM I started taking geometry in high school. I was excited about my ability to encode math formulas in my calculator, so instead of memorizing all the geometry formulas (much less understand where the numbers in them come from), I wrote a set of programs to calculate everything for me. Since there were so many formulas, I decided to group them into five programs and use a menu system to select which calculation to do. These were definitely my first menu-based program and the first time I demonstrated an understanding of the value of grouping similar pieces of functionality together. #modularity
13 years ago
PRCNTDIF.8xp
Preserve PRCNT* Here's what each program does: * **PRCNTDIF** - PeRCeNT DIFference * **PRCNTERR** - PeRCeNT ERRor These two programs were written during my college prep physics class during high school. They are a classic example of using my calculator programming skills to avoid learning the rationale behind an important formula for experiments. I simply didn't want to have to worry about the formula, so I figured it out once and then let my calculator take care of it from thereon and thenceforth. However, though they are only three lines long, they demonstrate one interesting insight into my development as a programmer. These programs appears to be the first time that I did computation in the `Disp`lay step in order to save a line or two of code. It demonstrates that (1) I had started to figure out the expanded set of precedence rules that govern expression evaluation in programming languages and (2) had begun to exploit those rules to make my programs more concise and readable.
11 years ago
PRCNTDIF.txt
Preserve PRCNT* Here's what each program does: * **PRCNTDIF** - PeRCeNT DIFference * **PRCNTERR** - PeRCeNT ERRor These two programs were written during my college prep physics class during high school. They are a classic example of using my calculator programming skills to avoid learning the rationale behind an important formula for experiments. I simply didn't want to have to worry about the formula, so I figured it out once and then let my calculator take care of it from thereon and thenceforth. However, though they are only three lines long, they demonstrate one interesting insight into my development as a programmer. These programs appears to be the first time that I did computation in the `Disp`lay step in order to save a line or two of code. It demonstrates that (1) I had started to figure out the expanded set of precedence rules that govern expression evaluation in programming languages and (2) had begun to exploit those rules to make my programs more concise and readable.
11 years ago
PRCNTERR.8xp
Preserve PRCNT* Here's what each program does: * **PRCNTDIF** - PeRCeNT DIFference * **PRCNTERR** - PeRCeNT ERRor These two programs were written during my college prep physics class during high school. They are a classic example of using my calculator programming skills to avoid learning the rationale behind an important formula for experiments. I simply didn't want to have to worry about the formula, so I figured it out once and then let my calculator take care of it from thereon and thenceforth. However, though they are only three lines long, they demonstrate one interesting insight into my development as a programmer. These programs appears to be the first time that I did computation in the `Disp`lay step in order to save a line or two of code. It demonstrates that (1) I had started to figure out the expanded set of precedence rules that govern expression evaluation in programming languages and (2) had begun to exploit those rules to make my programs more concise and readable.
11 years ago
PRCNTERR.txt
Preserve PRCNT* Here's what each program does: * **PRCNTDIF** - PeRCeNT DIFference * **PRCNTERR** - PeRCeNT ERRor These two programs were written during my college prep physics class during high school. They are a classic example of using my calculator programming skills to avoid learning the rationale behind an important formula for experiments. I simply didn't want to have to worry about the formula, so I figured it out once and then let my calculator take care of it from thereon and thenceforth. However, though they are only three lines long, they demonstrate one interesting insight into my development as a programmer. These programs appears to be the first time that I did computation in the `Disp`lay step in order to save a line or two of code. It demonstrates that (1) I had started to figure out the expanded set of precedence rules that govern expression evaluation in programming languages and (2) had begun to exploit those rules to make my programs more concise and readable.
11 years ago
QUADFORM.8xp
Preserve QUADFORM This was the first computer program I ever wrote. Though these nine lines of code took me nearly two weeks to write, they opened my eyes to the power of Software Engineering.
14 years ago
QUADFORM.txt
Preserve QUADFORM This was the first computer program I ever wrote. Though these nine lines of code took me nearly two weeks to write, they opened my eyes to the power of Software Engineering.
14 years ago
RCKPPRSC.8xp
Preserve RCKPPRSC Well, here's the first computer game I ever made: an extremely verbose Rock, Paper, Scissors game! I remember being especially proud of the "PLAY AGAIN?" menu. I don't remember when I wrote this program in relation to the others in this repository.
4 years ago
RCKPPRSC.txt
Preserve RCKPPRSC Well, here's the first computer game I ever made: an extremely verbose Rock, Paper, Scissors game! I remember being especially proud of the "PLAY AGAIN?" menu. I don't remember when I wrote this program in relation to the others in this repository.
4 years ago
SURPRISE.8xp
Preserve SURPRISE This is a less nefarious version of the LOADING program that I wrote later in my high school career. Like LOADING, I would find a moment on a friend's birthday to steal his/her calculator and copy the program over. I'd then usally open the PRGM menu so that the next thing my friend saw was the word SURPRISE on their screen. I always had fun seeing their smiles as they saw the HAPPY BIRTHDAY! animation. Even better was the fact that they immediately knew it was from me since I was the only one that knew how to program the calculator :D
11 years ago
SURPRISE.txt
Preserve SURPRISE This is a less nefarious version of the LOADING program that I wrote later in my high school career. Like LOADING, I would find a moment on a friend's birthday to steal his/her calculator and copy the program over. I'd then usally open the PRGM menu so that the next thing my friend saw was the word SURPRISE on their screen. I always had fun seeing their smiles as they saw the HAPPY BIRTHDAY! animation. Even better was the fact that they immediately knew it was from me since I was the only one that knew how to program the calculator :D
11 years ago
VECROSS.8xp
Preserve VECROSS VECROSS was written for the same reason as ELECCONS, to simplify the work I had to do during my university physics homework and exams. This program was particularly helpful since the cross product formula seemed like a random jumble of computations since I hadn't learned its relationship with linear algebra.
10 years ago
VECROSS.txt
Preserve VECROSS VECROSS was written for the same reason as ELECCONS, to simplify the work I had to do during my university physics homework and exams. This program was particularly helpful since the cross product formula seemed like a random jumble of computations since I hadn't learned its relationship with linear algebra.
10 years ago