“Delish!” Maya said, licking crumbs off her lips and fingers. “You’ve got talent, girl!”
Erin’s mom popped her head into the kitchen. “Isn’t my baby an amazing baker?” she said, looking adoringly at her daughter. She put an arm around Erin. “I’m so glad she met you girls. It’s always tough for her to make friends at a new school.”
“Mom!” Erin groaned.
“Is that TMI? Sorry, honey.”
“Definitely,” Erin said, her face reddening. “TMI.”
Erin’s mom’s cell phone rang, and she shuffled around the kitchen until she found it in the mess of boxes. “I’ll let you girls bond without an embarrassing mom around,” she said, giving Erin a peck before leaving with her phone.
“Ugh.” Erin’s face flushed. “Moms . . .”
“Don’t worry. Mine’s a total nerd,” I said. “She plays video games for hours. The way she yells at the screen like my brother, you’d think she was still in high school.”
“Yeah, you have nothing to worry about. My parents love ballroom dancing,” Maya told us. “They practice in the living room—while I have friends over!”
We all giggled, imagining the scene.
“My mom thinks she’s really good at voices, but she’s actually terrible at them,” Sophia added.
“So true!” I said, laughing. I’d heard lots of Sophia’s mom’s “voices,” and they were all pretty bad.
“Erin’s actually great at voices,” I said, remembering her funny imitation at the playground the other day. “Do your French one, Erin!” I said. But the second I said it and saw Erin’s expression, I wished I hadn’t.
“Oops. Sorry!” I hadn’t realized that maybe she didn’t want it to be public knowledge.
“It’s okay,” Erin said, her face relaxing. She suddenly became the actress I’d seen in the park. In a perfect Dracula imitation, she raised her hands as if to strangle me and growled, “I vill make you pay . . .”
We all chuckled.
“As long as we’re spilling secrets,” Maya interrupted. She turned to Erin. “Tell us: Are you the mystery coder leaving notes for Lucy?”
I couldn’t believe Maya was being so blunt. Erin looked horrified, and her face went pale. “Who told you I know coding?” she asked.
All eyes turned to me.
“I’m so sorry!” I said, my eyes wide. “I know you asked me not to tell people about the playground, but it seemed like you knew stuff about coding, and you said GIGO, and we’re still trying to figure out who’s leaving me those notes . . .”
“What’s guy-go?” Maya asked.
“Garbage in, garbage out,” Erin and I said together.
“It’s what happens when you give a computer bad input,” I explained. “I looked it up.”
Now I was starting to get suspicious, too. “Wait, Erin, do you know how to code?” I said, turning to her.
She looked down at her apron, and then up at us. “Okay, I admit I know a bit about coding,” she confessed. “It’s fun, but I don’t want to do it anymore. And no, I’m not leaving you the notes. Did you guys really think it was me?”
“Well, we wondered . . . ,” Sophia admitted.
“Hold on a second, so you do know how to code?” Maya asked, glancing at me with an “I told you so” face. “How’d you learn? And why are you in coding club?”
“Oh, it’s a long story,” Erin said, waving her hand dismissively. I could tell she didn’t think we’d be interested.
“We want to hear it, right, guys?” Maya said, looking at me and Sophia. We nodded.
“Okay . . . ,” Erin said, reluctantly. “My dad’s in the military. That’s why we’ve moved so much. When he’d get transferred, we’d all go. Now my parents are getting divorced, so Mom and I came to live near my aunt.” She pulled a coding textbook out of a box of cookbooks on the counter. “My dad’s really into coding, so he’s been teaching me for the past few years. When we moved here, I wanted to join the theater club, but there weren’t any spots open. My mom insisted that I do coding, since my dad’s not around to teach me as much anymore. She says it’s a practical skill, and she wants me to keep it up.” Erin looked down at the coding book, her face drawn. “I like coding, but it just reminds me of my dad too much. I’d rather sing and dance.”
She looked so sad, I felt bad for her. “But think of the bright side—you got to meet us!” I said, trying to cheer her up.
“I know,” she said. “I just wish I could try something different.” Under her breath, she added, “Last year, I got a spot in the talent show at my old school. I loved it. But other than that, I’ve never gotten to act or sing—well, except in my living room.”
I thought about the tears Erin had on her face when she came to coding club last week. She must have been upset about not getting a chance to do theater.
“But I have something to tell you guys,” Erin continued after a pause. “Last night, Principal Stephens called my mom and told her I could be in theater club starting next Monday if I wanted to—a spot opened up!”
“And your mom’s letting you?” Maya said.
Erin nodded. “I told her why I’d rather do theater, and she agreed to let me try. I think she feels guilty about the move.”
“Wait,” I said, realizing what was happening. “So you’re leaving coding club?”
“Well, it looks like it . . . ,” Erin answered slowly.
“But you’re the only one in our group who knows anything about coding,” I said. She was our best chance to figure out the notes. “We need you!”
“Oh, you guys’ll be fine without me,” Erin answered. “And I already agreed to switch anyway.” Seeing my face fall, she added, “If you want, I can explain the activities you’ve been doing. Have you gotten more notes, Lucy?”
I liked hanging out with Erin, and I didn’t want her to leave the club. But I also didn’t want to lose a chance to solve the coding notes mystery.
“I have,” I said, taking them out of my jean jacket. I took them everywhere I went now. “Here’s one about hitting balls that doesn’t make any sense.”
Sophia chimed in. “Lucy and I followed the instructions and hit baseballs for a while, but we couldn’t figure out what it meant.”
I pointed to the latest note. “This one is about clothes, so we went to Dress to Impress and filled it out based on a dress Maya’s making.” I showed her the copy I’d made, since the one on the locker had been taken.
“But we have no idea what it means for coding,” Maya added.
Erin looked at the two notes and grabbed a piece of paper. We all huddled around her at the kitchen counter. She wrote down four things:
Input/Output
Conditionals
Loops
Variables
Maya eyed her suspiciously. “Are you sure you didn’t write the notes?” she asked.
“I promise—it wasn’t me,” Erin said. “You guys get input/output, right?” She pointed to it on the list.
“Yeah,” I answered. “The computer needs clear directions. It only does what it’s told. Just like Mrs. Clark couldn’t make a sandwich without us telling her exactly how, and like you couldn’t get around the obstacle course in the playground unless I told you what to do.”
“Exactly.” Erin gave me a thumbs-up. “We also learned conditionals at the park, Lucy,” she said.
I still had the first two notes, so I laid them out on the counter with the others.
“What do the curly squiggles and parentheses mean?” Maya asked, looking it over.
“The squiggles are called curly brackets,” Erin explained. “They’re an important part of some programming languages. They help the computer interpret your code. Sometimes code doesn’t work just because it’s missing a single bracket. And every programming language has a different syntax.”
> “Syntax?” I asked.
“Yeah, the way words and phrases are put together to make up a language,” Erin explained. “All languages, like English or Spanish, have their own syntax, just like coding does.”
So far, this all made sense to me.
Erin pointed to the first note:
if (you_want_to_learn_code) {
do_everything_I_tell_you ( );
}
“These lines of code are if statements, or conditionals,” Erin explained. “If the first conditions are met, then the directions will be followed by a computer.”
Maya gave her a confused look.
“See, in the first line the parentheses contain the condition for the if statement,” Erin continued. “If you want to learn to code, then do what it says. The second line is a function—like an instruction—and the parentheses tell the computer to run the code.”
“Oh, I get it. So the first note was my first conditional, or if statement,” I said. “And the second note had conditionals, too.” I pointed to the note about the playground:
if (you_agree_to_my_terms) {
grab_a_friend ( );
go_to_school_playground ( );
}
if (you_go_to_school_playground) {
look_under_benches ( );
find_a_big_red_envelope ( );
}
if (you_find_the_envelope) {
trust_me (“You will learn to code”);
}
“Exactly,” Erin said.
“Okay, I understand conditionals,” Sophia said. “But what about the sports note?” She pointed to it. “Does that have anything to do with coding?”
while (there_are_balls_left) {
hit_the_ball ( );
}
“Loops,” Erin said. “Loops are actions that you perform while a condition is still true.”
“The softballs,” Sophia said, connecting the dots. “When we didn’t have a ball left,” Sophia reasoned, “we would have had to stop.”
“Only then,” Erin said. “Otherwise it’s the softball practice that never ends. You’d be caught in a loop.”
“Ha! Well, we did get tired from throwing and hitting the balls,” I said, rubbing my pitching arm, which was still sore.
“Yeah,” Erin said, leaning back against the counter. “You’re human. But computers never get tired of doing the same things over and over again . . . even if it’s a million times. That’s why loops are so great.”
“And what about the note with the clothing stuff?” Maya said.
We looked at the filled-out note:
int number_of_buttons = 1 2 3 4 5 6 7 8;
string button_type = “purple seed pearl”;
boolean has_sleeves = true false;
string sleeve_type = “Petal”;
string collar_type = “Mandarin”;
string lace_type = “Antique Chinese Jacquard”;
“You guys filled this out right! These are variables, and they’re used to remember information,” Erin said, pointing to our answers. “You needed different types of things for the different parts of Maya’s dress, right? So if this was a computer program, you’d be telling it what to add to the dress.”
“Like what kind of button or collar or lace to pick,” Maya said, her eyes wide.
“Exactly,” Erin answered.
That made sense, but there was still a lot on the note that looked like gibberish to me.
“What does ‘int’ mean?” I asked, pointing to the top of the note.
“It’s short for ‘integers’—it’s another word for whole numbers. Sometimes there are numbers with decimals in coding, but that wouldn’t work here because you can’t have half a button.”
We chuckled.
“What about ‘boolean’?” Sophia asked.
“A boolean’s really simple: It’s a type of data that only has two options: true or false,” Erin explained.
“So, basically, whether or not the dress has sleeves,” Sophia said.
“Uh-huh,” Erin answered.
Maya chimed in. “And what about ‘string’—what does that mean?”
“A string is simple, too: It’s a word for a series of characters that can have letters, numbers, symbols, and punctuation marks in it.”
“So ‘petal’ is a string, but something like ‘Halverston#99’ would be, too, if that made sense for the code?” I asked.
“Yup. And variables hold all kinds of data types, like integers, booleans, and strings, just like what you guys filled out here,” Erin replied, pointing to our answers again.
I couldn’t believe that what just looked like total nonsense made sense to me now.
“Erin, look how much we need you—please don’t quit coding,” I said, giving her my most pitiful, plaintive look.
Erin smiled sweetly. “You guys’ll be fine without me. I’ve pretty much told you everything I know, anyway!”
I sensed that I wasn’t going to be able to persuade her to stay in coding club—not as long as theater club was an option. But what if . . .
I had the flyer for the hackathon tucked in with the coding notes, so I took it out of my pocket.
“Is that another note?” Erin asked, leaning over.
“No, it’s a flyer I wanted to show you guys.” I unfolded the paper.
Sophia took a peek at it. “Isn’t that what we saw at the computer store?” I nodded.
“Calling all coders, don’t miss the six-hour hackathon,” Maya read out loud. “What’s a hackathon?”
I smiled, trying not to let on my inner motive. “I looked it up—it’s a coding contest. You have to know some coding, but, Erin, with your help, I bet we could learn enough by then to win.” I pointed at the prize money. “You could buy more cookbooks!”
“Um, I don’t think she needs more books,” Sophia said, with a sweeping motion of the boxes marked “books” in the kitchen and the living room.
“Or you could buy more shelves to put them on!” I suggested.
Everyone laughed, and Erin smiled sympathetically at me. “Sorry, Lucy,” she said. “I can’t. I really want to try theater, and I don’t want to miss my chance.”
We tried a few (million) more times to convince Erin to stay in coding club, but she was like a coding loop. She kept repeating, “While I can go to theater, I will go to theater,” over and over again, which was disappointing, but also cracked us up. Eventually, we headed home.
That night, I couldn’t stop thinking about the notes, especially now that I understood what they meant. I wondered if I’d receive more. But who could possibly be leaving them? I couldn’t shake the idea that it was Alex. Still, that wasn’t what was most on my mind—I was sad that Erin wasn’t going to be in our coding group anymore. It wasn’t like I’d known her that long, but I really liked hanging out with her, and I could tell Maya and Sophia did, too. Plus, it was obvious that she liked talking about coding. If only there was a way for her to do theater and coding club . . .
Chapter Eleven
The next day, I woke up with a plan.
The first thing I did was text Anjali. Then Maya and Sophia. And then I e-mailed Erin.
I went downstairs and cornered my brother, who was in the kitchen eating his cereal. It was just us at home—our parents were at a weekend-long conference for Mom’s job.
“It’s Sunday,” Alex said, still wearing his pj’s. “Don’t bug me.”
I sat on a stool next to him at the counter. “Alex, today is your big chance to be awesome.”
“Too late.” Alex grinned. “I’ve got all the awesome I need.”
“Trust me, you need more,” I said, rolling my eyes. “My friends are coming over, and we need your help.” I gave him a stern look. “But real help. Not like hiding the toilet paper or putting
oil in the soap dispenser. That’s not helpful.”
“But it’s funny,” Alex said with a smirk.
“Please,” I said, acting serious. “We need your help with coding.”
He thought about it for a second and said, “Okay.”
“Really?” I asked. I had thought he’d need more convincing.
“Sure. I don’t have work today,” he answered. “And I don’t mind helping out my little sis every now and then.” He raised his eyebrows. “But I told you I can’t help you with an app.”
“No, it’s not that,” I said. “It’s something different.”
“’Kay, well, I’m around,” he said, slurping down his cereal.
I eyed his smelly old pj’s.
“Awesome, thanks! But can you put something . . . cleaner on before my friends get here?”
“Yes, your majesty,” he said, fake-rolling his eyes, but then the day’s second miracle happened—he went to his room to get changed.
Maya arrived first. Sophia got to the house a minute later.
“So . . . ,” Maya started. “What’s the deal?”
She was wearing purple shorts, a striped shirt, and cool socks with hearts on them. I felt underdressed in my ratty blue shorts and a sweater, but seeing as Sophia was in sports shorts, I let the feeling go. Now that I had gotten to know Maya, I knew she wasn’t judging us.
“Is Erin coming over, too?” Sophia asked. “Your group text didn’t include her.”
“Not yet,” I said, checking my phone. “Come upstairs! I want to show you guys something.”
Sophia and Maya followed me up to my room. Sophia plopped down on the floor, and Maya and I sat on the bed. I grabbed my laptop, glanced at my screen, and crossed my fingers. Please let Erin respond, I thought to myself.
“I bet you want to know why I asked you to come over this morning,” I said, sounding oddly formal.
Sophia and Maya looked at me, confused.
“Did you find out who’s been leaving the notes?” Sophia asked.
“No, not yet.” I glanced at my computer again.
Sophia looked at me worriedly. “What’s going on, Lucy?”
The Friendship Code #1 Page 7