Challenge 1: A Composable with Parameters — Solution @Composable fun ProductCard(name: String, price: Double) { Column(modifier = Modifier.padding(16.dp)) { Text(text = name, fontSize = 18.sp) Text(text = "$$price", color = Color.Gray) } } @Preview(showBackground = true) @Composable fun ProductCardPreview() { ProductCard(name = "Keyboard", price = 49.99) } // MainActivity.kt class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { ProductCard(name = "Keyboard", price = 49.99) } } } Notes: - ProductCard takes two plain parameters (name, price) exactly like any regular Kotlin function — @Composable doesn't change how parameters work, only that the function can call other composables (Column, Text) inside it. - ProductCardPreview takes no parameters and simply calls ProductCard with sample data — this is the standard shape for a @Preview function, letting Android Studio render it in the editor without running the app at all. - setContent { } in MainActivity replaces Course 1's setContentView(R.layout.activity_main) entirely — there's no XML layout file involved for this screen.